08/10/08 10:52:24
>>766
> Javaだと回避不能なウンコ仕様が多くて困るけど
> (例えばしょうもないことで例外が飛んでくるとかthrowsとか)
これはウケた
以下のコードはf()は何もthrowしない、と例外仕様で言っているが、
f() throw() { throw 1; }
これをあんたのコンパイラがどう扱うか確認してみればいい
C++では文字列も整数もクラスも
ポインタも参照も、何でもthrowできる
例えばMFCとVC++のCOMサポート、C++標準ライブラリのようなものは
当然のように全く異なる流儀で例外を扱っている
それらを全て捕まえたければ catch (...) を使うしかないが、
これでは何が飛んできたか分からないから、事実上何の役にも立たない
勿論スタックトレースの取得などできるわけもない
C++はJavaの例外を馬鹿にできる立場には一切無いよ