我的WinForms应用程序使用BackgroundWorker个对象从数据库中检索信息.我使用BackgroundWorker是因为它允许用户界面在长时间运行的数据库查询期间保持畅通,并简化了线程模型.
我在一些后台线程中偶尔会遇到数据库异常,我在调试时在一个工作线程中至少看到过一个异常.我很有信心,这些例外情况都是超时,我认为这是合理的预期不时.
我的问题是,当这些后台工作线程之一中发生未处理的异常时会发生什么情况.
我不认为我可以在另一个线程中捕获异常,但我可以期望执行WorkerCompleted方法吗?我可以询问BackgroundWorker的任何属性或方法,以了解例外情况吗?