C++には例外機構が備わっているが、C言語との互換性を確保するためなのか、不可解な動作をするところが多い。動的例外指定(この節は、2000.6.25の日記に加筆したもの。その関数からは例外を投げないという意味になる。例外を投げることができる。コンパイル時にエラーも警告も出ない。文があるときには警告が出る。(動的例外指定という。どのような例外も投げることができる。関数を呼び出していると、その呼び出すほうの関数もあらゆる例外を送出する可能性がある。実際に例外を投げうるのかをコンパイル時に確実に判定することは難しい。コンパイルエラーにはならない。警告を出すのがせいぜい。呼ぶようになっている。