【发布时间】:2015-10-13 15:14:19
【问题描述】:
好的,我知道捕获 throwable 不是一个好主意:
try {
// Some code
} catch(Throwable e) { // Not cool!
// handle the exception
}
但最近我在阅读一个开源代码时,看到了这段有趣的(至少对我而言)代码:
try {
// Some Code
} catch (Throwable ex){
response = handleException(ex, resource);
}
private handleException(Throwable t, String resource) {
if (t instanceof SQLEXception) {
// Some code
} else if (t instanceof IllegalArgumentException) {
//some code
} //so on and so forth
}
这似乎没有那么糟糕?这种方法有什么问题?
【问题讨论】:
-
有时,尤其是在框架中,除了捕获
Throwable,您别无选择。在应用程序级代码中这仍然不是一个好主意,除非您想要某种“最后的处理程序”。 -
您是否有相关开源代码的链接(例如 GitHub 上的源文件)?我可以想到几个用例,根据具体情况,这实际上可能是一个很好的策略。
标签: java exception exception-handling