Работа с исключениями в асинхронном потоке BackgroundWorker_DoWork() - C#
Формулировка задачи:
Добрый день!
Работаю с компонентом BackgroundWorker. В обработчике DoWork вызываю метод, который может выбросить исключение. Как можно передать это исключение в основной поток? Сейчас делаю следующим образом:
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
try
{
method(obj);
e.Result=null;
}
catch (Exception exc)
{
e.Result=exc;
}
}
private void backgroundWorker_RunWorkerCompleted(object sender, DoWorkEventArgs e)
{
if (e.Result==null)
return;
MessageBox.Show("Error");
}Решение задачи: «Работа с исключениями в асинхронном потоке BackgroundWorker_DoWork()»
textual
Листинг программы
private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e)
{
method(obj);
}
private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error==null)
return;
MessageBox.Show("Error");
}