RuntimeErrorのポップアップを抑止するには?


マグロ  2008-02-16 01:48:08  No: 67515  IP: [192.*.*.*]

はじめまして。マグロと申します。

現在「VC++.NET 2003 」でコマンドを作成しているのですが、実行
中に何らかのバグによりRuntimeErrorのポップアップが出力されて
しまいます。

try〜catchを利用してアプリケーションエラーをキャッチし抑止、
制御まではできたのですが、RuntimeErrorのポップアップは抑止、
制御ができません。

RuntimeErrorのポップアップを抑止制御するにはどうしたら良いで
しょうか?
ご存知の方がいらっしゃいましたら、ご教授下さい。

編集 削除
tetrapod  2008-02-16 08:30:32  No: 67516  IP: [192.*.*.*]

要するにバグっているわけだから、バグ修正するだけぢゃん。

編集 削除
マグロ  2008-02-16 20:58:57  No: 67517  IP: [192.*.*.*]

tetrapod様
ありがとうございます。

仰るとおりバグを修正すれば良いのですが、他の部分にまだ発見
できていないバグが存在した場合の保険をかけたいのです。

作成しているコマンドは何が原因であれ失敗なら失敗で良いので
終了まで行ってもらわないと困るのです。
(OK押すまで処理が止まってしまうのは困るのです。)
(ちなみにRuntimeErrorの原因は既に判明し修正も完了していま
  す。)

編集 削除
なにゆえ  2008-02-16 21:12:32  No: 67518  IP: [192.*.*.*]

意味分からん。単に君が「この方法しかない」と思い込んでいるだけで、実は他にもっといい解決方法があるだけの話だと思う。

編集 削除
どら  2008-02-16 21:56:16  No: 67519  IP: [192.*.*.*]

Runtime Error!! のメッセージが表示されないようにすることよりも、それを出
さないよう一つ一つバグを修正することが最も大切なのでは?
その様なエラーが出ると言うことは、結構致命的なバグであることが多いと思う
のですが、それを無視してプログラムを動作させようとしてる?
それって、危険じゃないですか?
まずはそう言うエラーがでたら一つ一つ潰していく・・・という積み重ねが信頼
性の高いプログラムを作る近道だと思うんですけどね・・・。

編集 削除
シャノン  2008-02-16 23:47:55  No: 67520  IP: [192.*.*.*]

> 作成しているコマンドは何が原因であれ失敗なら失敗で良いので
> 終了まで行ってもらわないと困るのです。

失敗なら即座に落ちてもらわないと困る、という考え方もあります。
たとえば、落ちずに無理やり継続した結果、ファイルを破損するとか、データベースに変なデータが入るとか、ちょっと大げさなケースですと、脆弱性を悪用されてウィルスを媒介する踏み台にされ得る、とか。
「落ちるということは安全である」という考えを持たれてはどうでしょうか。

望ましい順に列挙すると(上の方が望ましい状態です)
「バグがなく、落ちない」
「バグがあり、落ちる」
「バグがあり、落ちない」
になります(バグがなく落ちるということはないか、対処のしようがない不可抗力でしょうから除外します)。

編集 削除
夏みかん  2008-02-17 02:38:22  No: 67521  IP: [192.*.*.*]

> try〜catchを利用してアプリケーションエラーをキャッチし抑止、
> 制御まではできたのですが、RuntimeErrorのポップアップは抑止、
> 制御ができません。

> RuntimeErrorのポップアップを抑止制御するにはどうしたら良いで
> しょうか?

catch(int)で受け取る例外にenum型などを使っていませんか?

僕も去年に同じようなエラーダイアログが出ました。
throwにenum型ではなく記号定数に置き換えたら直りました。
こちらで質問して教えてもらいました。

僕が思いついたのはこれだけです。

編集 削除