- PR -

BackgroundWorkerのDoWorkイベント内で発生した例外について

1
投稿者投稿内容
キキーヌ
常連さん
会議室デビュー日: 2005/11/25
投稿数: 22
投稿日時: 2007-11-12 19:02
DoWorkイベント内で例外が発生するとDoWorkイベントが終了して
RunWorkerCompletedイベントに制御が移ると思っています。

しかしDoWorkイベントで例外が発生するとそのコード上(デバッグ時)で止まってしまいます

私が思っているのはDoWorkイベントで例外が発生するとすぐにRunWorkerCompletedイベントに制御が移りe.Errorプロパティでチェックすると思っている(チェックしたい!!)のですが
違うのでしょうか?

知っている人がいたらぜひ教えてください
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-11-12 21:11
引用:

キキさんの書き込み (2007-11-12 19:02) より:
DoWorkイベント内で例外が発生するとDoWorkイベントが終了して
RunWorkerCompletedイベントに制御が移ると思っています。



「制御が移る」あたりの表現がなにか引っかかる感じですが、
そうです。

引用:

しかしDoWorkイベントで例外が発生するとそのコード上(デバッグ時)で止まってしまいます



それは変ですねぇ。

引用:

私が思っているのはDoWorkイベントで例外が発生するとすぐにRunWorkerCompletedイベントに制御が移りe.Errorプロパティでチェックすると思っている(チェックしたい!!)のですが
違うのでしょうか?



私はそうやってます。
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-11-12 21:21
つーか、デバッグ時の動作は MSDN の BackgroundWorker.DoWork の解説に書かれていますが。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-11-12 21:54
引用:

Hongliangさんの書き込み (2007-11-12 21:21) より:
つーか、デバッグ時の動作は MSDN の BackgroundWorker.DoWork の解説に書かれていますが。



?!
たしかに。
そういえば昔は止まってたような気も。
いま試して見ましたが、止まりません。

あれ?あれ?
なちゃ
ぬし
会議室デビュー日: 2003/06/11
投稿数: 872
投稿日時: 2007-11-12 22:57
VisualStudioのメニューから、「デバッグ」「例外...」で、
例外がスローされたときに停止させるチェックをはずす、とかその辺かな。
れい
ぬし
会議室デビュー日: 2005/11/01
投稿数: 346
投稿日時: 2007-11-12 23:03
引用:

なちゃさんの書き込み (2007-11-12 22:57) より:
VisualStudioのメニューから、「デバッグ」「例外...」で、
例外がスローされたときに停止させるチェックをはずす、とかその辺かな。



おぉ。できました。
設定を変えてるところを見るといじってたんですね。
すっかり忘れてます。

ありがとうございました。
キキーヌ
常連さん
会議室デビュー日: 2005/11/25
投稿数: 22
投稿日時: 2007-11-16 00:53
OSをクリーンインストールしていて返事が遅れました。

皆さんありがとうございます。デバッグ時は確認しました。

ただ、Release時はRunWorkerCompletedイベントに制御が行かず
ランタイムエラーが出たような気がします…。

明日ぐらいにはちゃんと確認できると思いますので
確認できたらこちらで報告します。
1

スキルアップ/キャリアアップ(JOB@IT)