VMime Book 日本語訳 第4章 4.2

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) {
} { }