如果需要将异常转移到UI,处理异常的更好方法是什么.我需要使用什么:通过几种方法向用户显示适当的消息或从方法到方法返回错误代码或者其他可能的东西,抛出Checked/Unchecked(从哪个更好)
更新:
使用Android的Handler来处理所有已检查/未检查(可能只有它们)的异常是不是一个好主意,我不知道它们出现在哪里?
例如
...
catch(NUllPointerException){
UIExceptionHandler.sendEmptyMessage(...);
}
Run Code Online (Sandbox Code Playgroud)
...
onHandleMessage(...){
//handle exception here - for example show toast
}
Run Code Online (Sandbox Code Playgroud)
?
就像Dan W所说的那样,您可以创建自己的异常并在UI层上捕获它.扩展RunetimeException允许您抛出异常,而无需在方法头中指定它们.
另一个需要考虑的重要事项是UI层上的EDT.由于无法将所有Event Dispatcher Thread异常包装在UI Layer中的单个位置,因此您可以创建UncaughtExceptionHandler并管理应用程序中触发的所有UncaughtExceptions.
从那里,您可以轻松地记录并通知用户发生的错误,并根据抛出和未捕获的异常类型显示不同的消息.这样,您就可以确定没有任何错误被忽视.
这个讨论讨论了实现Handler的基础. 如何捕获事件调度线程(EDT)异常?
| 归档时间: |
|
| 查看次数: |
3007 次 |
| 最近记录: |