Jam*_* P. 1 java error-handling multithreading exception-handling
假设我有一个使用线程通过HTTP或FTP下载文件的应用程序.我可以想象在后台出现的一些问题需要一些错误处理:
如何以将错误传回主应用程序的方式处理这些问题?或者如果不可恢复则中止?
这是一个非常普遍的问题,有许多可能的解决方案.它在很大程度上取决于线程当前向主应用程序报告的信息.例如,如果它返回a中的某些远程文件内容String
则null
可能表示数据存在某种问题.如果你想要更具体的信息,那么你需要创建某种JobStatus
类来封装你提到的一些错误条件.也许该类还包括远程文件内容或实际工作负载.
在传递信息方面.如果您不使用和线程池,Runnable
该类可能有某种getStatus()
方法.您还可以将一个类传递给您填写的手头工作,其中可能包含有关遇到的任何错误的信息.Callable<...>
ExecutorService
WorkRequest
Thread
通常我倾向于依靠日志来显示问题的实际来源和细节,并依赖于抛出的异常Future.get()
来回传我的处理线程存在某种问题.但同样,如果没有更多的上下文,很难确定在您的环境中有什么意义.
归档时间: |
|
查看次数: |
91 次 |
最近记录: |