|
(n) exception handling =========================== ・ 例 : [れい] 【名詞】 1. instance 2. example 3. case 4. precedent 5. experience 6. custom 7. usage 8. parallel 9. illustration ・ 例外 : [れいがい] 1. (n,adj-no) exception ・ 例外処理 : [れいがいしょり] (n) exception handling ・ 外 : [そと, ほか, げ, がい] 【名詞】 1. other place 2. the rest ・ 処理 : [しょり] 1. (n,vs) processing 2. dealing with 3. treatment 4. disposition 5. disposal ・ 理 : [り] 【名詞】 1. reason
例外処理(れいがいしょり)とは、プログラムがある処理を実行している途中で、なんらかの異常が発生した場合に、現在の処理を中断(中止)して、別の処理を行うこと。その際に発生した異常のことを例外と呼ぶ。 何を持って「異常」とするかは様々であるが、次のようなものが挙げられる。 * ハードウェアの故障 * オペレーティングシステム等、システムの設定ミス * ライブラリの欠損 * ユーザーの入力間違い * 数値入力を要求している場合での、英単語の入力 * 存在しないファイルの指定 * 許されない演算(0での除算や実数演算で解が虚数になる演算など) * 割り当てられていない記憶領域へのアクセス * 不正な値が与えられたポインタで参照する、或いは機械語レベルで不正な値が与えられたインデックスレジスタ等を用いてメモリ参照することとなった場合 *ページフォールト * オブジェクト指向言語において、オブジェクトとして定義されていないポインタ(Nullポインタ)をオブジェクトとして取扱おうとした場合( NullPointerException )。== 例外安全性 == あるコード内を実行中の失敗が、メモリリーク、格納データの不整合、不正な出力などの有害な効果を生じないとき、そのコード片は例外安全であると言う。例外安全なコードは例外が発生したとしてもそのコードが備える不変条件を満たさなければならない。例外安全性にはいくつかのレベルがある: #不送出保証、もしくは失敗透過性: 操作は成功するものと保証され、例外的な状況の中であっても全ての要求を満たす。もし例外が発生したとしても、その例外をより上位に送出はしない。(最高レベルの例外安全性) #強い例外安全性、コミット・オア・ロールバックセマンティクス〔http://www.open-std.org/jtc1/sc22/wg21/docs/papers/1997/N1077.asc〕あるいは無変更保証: 操作は失敗することがあるが、失敗した操作は副作用を起こさないことが保証され、すべてのデータは元の値を保持する。 #基本的例外安全性: 失敗した操作の不完全な実行によって副作用が起こることがあるが、状態の不変条件は保たれる。あらゆる格納データは、もはや実行前とは異なるとしても、有効な値を持つ。 #例外安全性なし: 何も保証されない。(最低レベルの例外安全性) 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「例外処理」の詳細全文を読む スポンサード リンク
|