2012-09-21 7 views
1

기본 응용 프로그램 스레드에서 BackgroundWorker에서 예외가 발생했을 때 가장 좋은 방법은 무엇입니까? BackgroundWorker에서 처리되는 집중 UPD 작업이 있지만 예외가 발생하면 내 주 응용 프로그램에서 무슨 일이 일어 났는지 기록 할 수 없습니다. 모범 사례를 권장하십시오.BackgroundWorker에서 주 스레드로 예외 전달

감사

답변

3

당신은 당신의 주 응용 프로그램 스레드에서 해고 될 RunWorkerCompleted 이벤트를 처리해야합니다.

RunWorkerCompletedEventArgs.Error에는 예외가 포함되거나 예외가 없으면 null이됩니다.

0

이렇게 작동하지 않습니다. 우선 RunWorkerCompleted는 주 스레드에서 실행되지 않습니다. 또한 작업자 스레드에서 예외를 처리하면 RunWorkerCompleted에서 예외를 처리 할 수 ​​없으며 DoWork에서 예외를 처리하지 않으면 응용 프로그램이 중단됩니다.

관련 문제