捕获可抛出和处理特定异常
好吧,我知道捕捉可投掷不是一个好主意:
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
}
这似乎不是那么糟糕?这种方法有什么问题?