try catchについて

[戻る]
シルクハット 2002/01/22(火) 09:25:30
tyr catch について質問があります.

例えば.カーソルが移動するイベントをハンドルして
OnSelChange()としたとします,この中で,異常処理が起こった場合,
そのエラーメッセージを定義したリソースIDをスルーし,
キャッチでそのエラーメッセージを表示するとします.
しかし,スルーすると,このキャッチの場所に行かないで,
Runtime Error とかかれたダイアログボックスが出てしまいます.
キャッチの引数にUINT の変数をしっかり宣言しているのに,
キャッチできないのはどうしてか分かりません.

どなたか教えていただけないでしょうか?
お願いします.

シルクハット 2002/01/22(火) 09:33:29
追加です・

出てくるメッセージボックスは,以下の時もあります.

"ハンドルされている例外は..." 

これには,デバック情報をみるようなことが書いていますが,
具体的にはどうすればいいのでしょうか?
勉強すればいいのですが,難しくてhelpでは
わかりませんでした.お願いします.

NGA 2002/01/22(火) 10:18:31
あなたが意図したthrowから確実にとんでいますか?
ブレークポイントを設定して確かめてみてください。
きっとthrowでは停止しないと思います。

catch(...)を使えば、キャッチできますが。

シルクハット 2002/01/22(火) 16:42:13
デバックで行ってみても,throwまできて,次に進めるとすぐ
”ハンドルされている例外は..."  
とうメッセージボックスがでます.
ハンドラにtry 〜 catch を書いて,その中で呼び出している関数内でthrowしているのです
が,catchしてくれません.
コンパイルのオプションなどが間違っていたりして,無視されるのでしょうか?

TAKA 2002/01/22(火) 17:15:58
はじめまして

try 〜 catch 文の全てとそのthrow している関数宣言と
throw の仕方。また、どこで止めて確認したのかが分かれば
答えが出るかもしれません。

一度ソースを抜き出してください。

シルクハット 2002/01/24(木) 10:02:48
リソースIDをスルーする場合.受け取るほうの宣言は
UINT 型ではだめなのでしょうか?
どうやらそれが間違っていたようで,キャッチできなかったようでした.
リソースIDは何型なのでしょうか?

また,独自のエラーコードをスルーする場合,
MFCみたいにエラー処理クラスを作成するのが便利なんでしょうか?
今回はリソースIDをスルーしようと試みましたが一度
試みてみたいと思っているのですが....

NGA 2002/01/24(木) 10:11:09
>リソースIDをスルーする場合.受け取るほうの宣言は
私はint型でキャッチしていますが。

古いスレッドには追加発言できません。