例外

例外って使ってみるのに勇気がいる、気がする。一回例外が投げられると、自分の書いた処理を全てすっ飛ばしてどこかへ飛んでいってしまう気がするからだ。実際に発生する可能性のあるところをtry-catchブロックで囲ってやらないと本当に彼方へ飛んでいってしまうわけだが。

というか「例外を使う」というパラダイムに俺はまだ乗り切れていないのだな。エラーの発生しそうな箇所ではまずifによる分岐を考えてしまうし、自分で関数を定義するときもboolで成功/失敗を返すように書いてしまう。ある程度プリミティブな機能を定義するならそれでもいいんだろうケド…。

例外の恩恵ってのは、複数の失敗原因があるような機能を実装する場合原因や発生箇所を簡単に特定できる、というのが大きい、…のかな?それは例外を使ってデバッグを楽にしようって発想か。正常時と非常時で処理を変えようってのが例外の大元の考え方なわけだから、エラー処理を一箇所に書けるとか…、ソースコードを見やすくするような形で作用するのが正しいのだろうか?

っていうかMore Effective C++―最新35のプログラミング技法 (ASCII Addison Wesley Programming Series)を持ってない & 読んでないのがダメなのかなぁ(ぉ。Effective C++ 【改訂第2版】 アスキーアジソンウェスレイシリーズ―Ascii Addison Wesley programming seriesにはbad_alloc例外についての記述しかなかったし…。でもMore Effective C++は日本語がダメすぎるらしいしなぁ。いざ買ってみて解読するのにかなりのパワーが必要だったりすると…。というか本屋で拝んだことねぇからどの程度ダメなのかも判断できないしorz

現状では色々考えながら実際に使って慣れるしかないか。とりあえず標準で規定されているstd::exceptionとその子たちの理解からいくのが王道なんだろうか?