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

[Visual C++ Q & A 掲示板] [過去ログの一覧]


マグロ 2008/02/16(土) 01:48:08 <初心者>
はじめまして。マグロと申します。

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

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

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

tetrapod 2008/02/16(土) 08:30:32
要するにバグっているわけだから、バグ修正するだけぢゃん。

マグロ 2008/02/16(土) 20:58:57 <初心者>
tetrapod様
ありがとうございます。

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

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

なにゆえ 2008/02/16(土) 21:12:32
意味分からん。単に君が「この方法しかない」と思い込んでいるだけで、実は他にもっといい解決方法があるだけの話だと思う。

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

シャノン 2008/02/16(土) 23:47:55 <常連>
> 作成しているコマンドは何が原因であれ失敗なら失敗で良いので
> 終了まで行ってもらわないと困るのです。

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

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

夏みかん 2008/02/17(日) 02:38:22
> try〜catchを利用してアプリケーションエラーをキャッチし抑止、
> 制御まではできたのですが、RuntimeErrorのポップアップは抑止、
> 制御ができません。

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

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

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

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

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library