第10章 エラー処理


AMQ C++ でのエラーは、以下の 2 つの方法で処理できます。

  • 例外のキャッチ
  • AMQP プロトコルまたは接続エラーを処理するための仮想関数のオーバーライド

例外の取得は最も基本的なものですが、エラーを処理する詳細な方法です。ハンドラールーチンでオーバーライドを使用してエラーが処理されない場合、例外が出力され、キャッチして処理することができます。

10.1. 例外の処理

ハンドラールーチンでオーバーライドを使用してエラーが処理されない場合、コンテナーの run メソッドによって例外が出力されます。

AMQ C++ が proton::error クラスから継承するすべての例外。これにより、 std::runtime_error クラスおよび std:: exception クラスが継承さ れます。

以下の例は、AMQ C++ から発生した例外をキャッチする方法を示しています。

例: API 固有の例外処理

try {
    // Something that might throw an exception
} catch (proton::error& e) {
    // Handle Proton-specific problems here
} catch (std::exception& e) {
    // Handle more general problems here
}

API 固有の例外処理が必要ない場合は、proton::error が継承されるため 、std::exception のみをキャッチする必要があります。

例: 一般的な例外処理

int main() {
    try {
        // Something that might throw an exception
    } catch (std::exception& e) {
        std::cerr << "Caught exception: " << e.what() << std::endl;
    }
}

注記

C++ プログラムのすべての例外は std::exception から継承されるため、コードブロックを記述して main メソッドをラップし、std::exception エラーに関する情報を表示できます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る