是否有可能阻止Visual Studio打破BackgroudWorker.DoWork中的异常
问题描述:
问题是应用程序应该以某种方式处理发生在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
中纠缠得很好,并且错误可能在任何地方。只需要放弃先调试的可能性。
答
这肯定是重复的,但无论如何......您应该在Visual Studio中打开对话框Debug/Exceptions ...,查找您希望VS忽略的异常,并禁用“抛出”复选框。
你可以发布相关的代码。 – ChrisF 2011-01-24 21:47:38