例外クラス

http://www.geocities.jp/ky_webid/cpp/library/027.html

標準で用意されている例外クラスの紹介がありました。

どの例外クラスもstd::exceptionクラスから派生したものになっています。

以下にその表を書いてみます。std::はスペースの都合上省きます。

exceptionbad_alloc
bad_cast
bad_typeid
logic_errorout_of_range
invalid_argument
length_error
domain_error
bad_exception
runtime_errorrange_error
overflow_error
underflow_error
ios_base::failure

表の左が基底クラスで右に派生していく感じで見てください。

そんなに多くはないんですね。

ちなみにstd::exceptionはexceptionヘッダで定義されています。それ以外の例外クラスに関してはそれぞれ異なるヘッダで定義されているようです。

これらの例外クラスの意味は記事を読んでざっと理解しておきましょう。このあたりは実際に使う場面になったときに詳細を調べるのがいいと思います。