
注 : このプログラムは、except.cpp ファイルにあります。
以下のプログラム例は、例外の使用方法を説明しています。
#include <stdexcept>
#include <string>
static void f() { throw runtime_error("a runtime error"); }
int main ()
{
string s;
// まず、標準 C++ ライブラリ文字列クラスから
// 例外を起動して捕獲する。
// 存在しない位置で置換を試みる。
//
// try-catch ブロックで main の本体をラップすることによって
// 例外階層にあるすべての例外を確実に捕獲できる。
// 以下のように単に例外を捕獲することもできれば、
// 関心のある例外を個別に捕獲することもできる。
try
{
s.replace(100,1,1,'c');
}
catch (const exception& e)
{
cout << "Got an exception: " << e.what() << endl;
}
// ここで上記のように定義された関数を使用して
// 独自の例外を送出する
try
{
f();
}
catch (const exception& e)
{
cout << "Got an exception: " << e.what() << endl;
}
return 0;
}