我们有5个可能的例外,我们想要处理它们.我应该使用5个不同的捕获或类似:
try {
//...
}
catch(Exception e) {
if(e instanceof IOException)
else if(e instanceof IllegalStateException)
}
Run Code Online (Sandbox Code Playgroud)
谢谢.
使用5个不同的catch
块肯定比使用instanceof
运算符模拟相同的东西更好.只是保持顺序正确(首先是最具体的例外,然后是最后的一般例外):
try {
} catch (IOException exc) {
// do something
} catch (IllegalStateException exc) {
// do something else
} catch (Exception exc) {
// do something else for all remaining exceptions.
}
Run Code Online (Sandbox Code Playgroud)
此外,如果您对某些异常有类似的处理,并且您已经使用Java 7,则可以利用多捕获块:
try {
} catch (IOException | IllegalStateException exc) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
81 次 |
最近记录: |