C & C++ FAQ
|
|
処理において、何らかのエラーが発生した場合の対処としては、次のような方策が考えられます。
(1)プログラムを強制終了させる。
(2)エラーが発生したことを画面などに表示し、とりあえず処理を続行する。
(3)エラーが発生したことを標準エラーストリームに出力し、プログラムを終了する。
:
このような方策の中から、その対処法を一意に決めたら、どうなるのでしょう。たとえば(3)のような関数を作るのは簡単ですが、すべての利用者が、そのような解決法を望んでいるとは限りません。
すなわち、クラスや関数などの、プログラムの《部品》を開発する際には、常に次のような疑問にぶつかることになります。
“エラーの発生を見つけることは容易に実現できるのだが、そのエラーに対してどのような対処をすればよいのかを決定できない”
というのも、エラーに対する対処法は、部品の開発者よりも、その利用者によって決められるべきである場合が多いからです。部品の利用者が、状況に応じて、いろいろな対処法を用意できるようにすれば、ソフトウェアは柔軟なものになります。もっとも、利用者の側にとって、エラーの発生を見つけることは容易ではありません。
このようなジレンマを解消するのが例外処理(exception handling)です。
■ 根拠 ■
標準C++
| §15
| Exception handling
|