## 18.4 プログラム例 : 例外

> 注 : このプログラムは、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;
    }

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。
OEM リリース, 1998 年 6 月