第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
のみをキャッチする必要があります。