- 23 名前:22 [2007/03/28(水) 22:28:55 ]
- まだハマッています;;
VCで同じようなことをして見ましたが、VCでは例外のエラーは発生せず、 結果として上記のソースで言えばa=0が返ってきました。 で、やっている事はよろしくない事なんだろうと思って、少し勉強をして、例外を捉えたら無視してやろうという考えで try catchというのを使ってみることにしました。 double d; int a; d=1e+300; try { a=(int)d; } catch (Exception &e) { Memo1->Lines->Add("例外発生"+e.Message); a=0;} こんな感じで・・・でも動作が変なんです。BDS2006でコンパイルした方だけ。 ボタンを押すごとに上記を呼び出します。 1回目はエラー発生せず(注) 2回目エラー⇒catchで捕る。あと1回目から繰り返し (注)ここでマウスカーソルをタイトルバー上へ持ってくるとcatchで捕まらないエラー発生、ダイアログが現れます。 比較として0で割った場合の例外の実験もして見ましたが、こちらは毎回catchで捕まるみたいです。いったい何が問題なのでしょう? BCB6とBDS2006の実行ファイルとソースをアップします。よろしくお願いします。 ttp://puka-world.com/php/upload/large/img-box/1175087636206.zip
|

|