VMime Book 日本語訳 第4章 4.2
2020-07-01 K.OHWADA
原文
VMime Book: A Developer’s Guide To VMime
https://www.vmime.org/public/documentation/book/vmime-book.pdf
第4章 基本
Basics
4.2 エラー処理
Errorhandling
VMime、エラー処理は例外にのみ基づいており、エラーコードなどはありません。
VMimeコードは、予期しないエラーが発生した、操作がサポートされていないなど、さまざまな状況で例外をスローする可能性があります。
ユーザーに障害を報告する場合は、例外をキャッチする必要があります。
これは、プログラムをデバッグするときにも役立ちます。
VMime例外はチェーンをサポートします。
例外を別の例外にカプセル化して、実装の詳細を隠すことができます。
関数exception :: other()は、チェーン内の次の例外、つまりNULLを返します。
以下は、VMime例外をキャッチし、コンソールにエラーメッセージを書き込むためのサンプルコードです。
リスト4.3:VMimeの例外をキャッチする
Catching VMime exceptions
std::ostream& operator<<(std::ostream& os, const vmime::exception& e) { os << ”∗ vmime::exceptions::” << e.name() << std::endl; o s << ” w h a t = ” << e . w h a t ( ) << s t d : : e n d l ; // Recursively print a l l encapsuled exceptions if (e.other() !=NULL) os << ∗e.other(); return os; } ... try { } catch (vmime::exception& e) { } { }