c++primer 2回目の読解悟り(chap 5)

1118 ワード

5.6 try文ブロックと例外処理:
  • throw式で、異常検出部はthrow式を使用して処理できない問題が発生したことを示します.throwが異常を起こしたと言います
  • try文ブロック、異常処理部はtry文ブロックを用いて異常を処理する.try文ブロックはキーワードtryで始まり、1つ以上のcatch句で終わる.try文ブロック内のコードから放出される異常は、通常、あるcatch文によって処理されます.catch句「処理」異常のため、異常処理コードとも呼ばれます.
  • throw式と関連catch句の間で異常の具体的な情報を伝達するための異常クラス.

  • 5.6.1 throw式
    throw式には、キーワードthrowと、その後に続く式が含まれます.式のタイプは、放出された例外タイプです.throw式の後ろには通常、セミコロンが付いており、式文を構成します.
    if(item1.isbn() != item2.isbn())
        throw runtime_error("Data must refer to same ISBN");
    cout<<item1 + item2 << endl;

    タイプruntime_errorは、stdexceptヘッダファイルに定義される標準例外タイプの1つです.runtimeを初期化する必要があります.errorのオブジェクトは、stringオブジェクトまたはCスタイルの文字列を提供する方法です.
    5.6.2 try文ブロック
    try{
      program-statments//               ,   catch        。
    }catch (exception-declaration){
      handler-statements
    }catch (exception-declaration){
      handler-statements
    } //...

    catch句には、キーワードcatch、カッコ内のオブジェクトの宣言(名前なし)の3つの部分があります.
    例外宣言)とブロック.あるcatch句処理異常に当選した後,それに対応するブロックを実行する.catchが完了すると、プログラムはtry文ブロックの最後のcatch句にジャンプした後、その文を実行し続けます.