我正在开发一个J2ME项目,该项目为许多任务(如下载HTTP内容)生成工作线程.基本的线程布局类似于大多数Java应用程序 - 有一个主UI线程和工作线程产生在幕后做的东西.我的问题是处理工作线程中发生的异常的最佳方法是什么?
我通常坚持设计理由,即大多数例外情况应尽可能渗透.当我编写单线程应用程序时,我常常将异常一直渗透到UI层,然后在错误对话框中将它们报告给用户.多线程应用程序是否有类似的做法?对我来说最直观的事情是在Thread.run()中捕获异常,然后在UI线程上调用invokeLater以在对话框中报告它.我在这里看到的问题是,在工作线程之外过早死亡,这种方法并没有真正通知UI线程有错误.我没有看到明确的方法来跨线程抛出异常可以这么说.
谢谢,安迪