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式の後ろには通常、セミコロンが付いており、式文を構成します.
タイプruntime_errorは、stdexceptヘッダファイルに定義される標準例外タイプの1つです.runtimeを初期化する必要があります.errorのオブジェクトは、stringオブジェクトまたはCスタイルの文字列を提供する方法です.
5.6.2 try文ブロック
catch句には、キーワードcatch、カッコ内のオブジェクトの宣言(名前なし)の3つの部分があります.
例外宣言)とブロック.あるcatch句処理異常に当選した後,それに対応するブロックを実行する.catchが完了すると、プログラムはtry文ブロックの最後の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句にジャンプした後、その文を実行し続けます.