問題は、アプリケーションが特定の方法でDoWork内で発生するエラーを処理することになっているということです。私のアプリケーションの公開版では、私はそれをテストする目的でエラーを生成していますが、それは何をすべきかをしていませんが、私はVSが例外でそれを渡す代わりに破る場合は、RunWorkerCompleted
DoWorkのドキュメントに従って公開された後(またはVSデバッガで実行されていない場合)に発生します。例外時にVSが停止するのを防ぐ方法はありますか?そして、デバッグ中に発行された後に何をするのかを確認して、私のコードに何が間違っているのか確認できますか?Visual StudioでBackgroudWorker.DoWork内で例外が発生するのを防ぐことは可能ですか?
@ChrisF:ここに私のコードです。私はそれがはるかに役立つとは思わない:
void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if(null == e.Error) OnDownloadComplete(new DownloadCompleteEventArgs(e.Cancelled, null, e.Result as string));
else OnDownloadComplete(new DownloadCompleteEventArgs(false, e.Error, null));
}
void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
throw new Exception("OMG!!!");
}
を私は私の誤りを見つけるための別の方法を見つけることを試みることやろうとしている何をすることができない場合。 OnDownloadComplete
にかなり絡み合っているので、より多くのコードを投稿するのは良い考えではないと思います。エラーはどこにでもあります。最初にデバッグする可能性を捨てるだけです。
関連するコードを掲載することはできますか? – ChrisF
DoWorkメソッドを飾ることができる属性があることを知っています。それは '[DebuggerNonUserCode]'または '[DebuggerHidden]'でしたか... ...覚えていません... – dotjoe
例外を投げるのではなく、ブレークポイントまたは条件付きブレークポイントを設定するだけではどうですか? (BTW、コードはあなたの質問を明確にするのに役立ちました)。 – ChrisF