Проблема в том, что приложение должно обрабатывать ошибки, которые происходят внутри DoWork определенным образом.В опубликованной версии моего приложения я генерирую ошибку, чтобы протестировать его, и не делаю то, что должно, но если я отлаживаюсь, то VS прервется при исключении, вместо того, чтобы передать RunWorkerCompleted
, чтоэто то, что произойдет после публикации (или когда он не работает под отладчиком VS) согласно документации DoWork .Есть ли способ предотвратить остановку VS в исключительной ситуации и заставить ее делать то, что она сделает после публикации во время отладки, чтобы я мог видеть, что не так с моим кодом?
@ 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
и ошибка может быть где угодно.Просто нужно сначала отказаться от возможности отладки.