BackgroundWorker
автоматически передает исключение. Он находится в свойстве AsyncCompletedEventArgs.Error , когда вы перехватываете событие RunWorkerCompleted
.
Если хотите, вы можете обернуть и перебросить исключение в этом обработчике событий, имея в виду, что в фреймворке есть ошибка , которая будет вызывать «внешнее» исключение вместо в середине Invoke
.
Исключением, которое возникает в фоновом потоке в приложении .NET, является катастрофическая ошибка, которая может привести к остановке всего процесса; единственный способ справиться с этим - заключить все действия в блок try-catch и сохранить любое возникшее исключение, что и делает BackgroundWorker
.