Я немного смущен тем, как бороться с исключением.Обработка обработки исключений для фона
У меня есть рабочий рабочий поток, который выполняет некоторый длительный процесс. Мое понимание заключается в том, что в случае фонового рабочего потока возникает исключение, код будет по-прежнему в методе RunWorkerCompleted.
void bgWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
if (e.Error != null)
throw e.Error;
Если это так есть ли смысл в положить попробовать поймать блок вокруг bgWorker.RunWorkerAsync(); звоните, я полагаю, нет?
Я хочу перестроить исключение, которое попало в метод RunWorkerCompleted, как я могу это сделать, не теряя трассировку стека - это то, что у меня выше правильного? Я читал, что вы, редуцируя исключение, должны просто использовать «бросок»?
поэтому в данном случае я бы не стал нужно ли выполнять обработку ошибок в моем методе RunWorkerCompleted? Или лучше ли справляться с любыми ошибками в методе RunWorkerCompleted? – mHelpMe
, если вы обрабатываете исключение в рабочем потоке, вы не сможете получить его в RunWorkerCompleted, и если вы не будете обрабатывать его в DoWork, ваше приложение может потерпеть крах, если вы сделаете что-то не так –