从Java7中,我们可以在一个catch子句中捕获多个异常,如下所示。
try {
// Your code here.
} catch (IllegalArgumentException | SecurityException | IllegalAccessException |
NoSuchFieldException e) {
// Handle exception here.
}
在同一catch子句中可以捕获多少个异常?有限制吗?关于同一捕获中的异常数量,最佳做法是什么?
1条答案
按热度按时间2g32fytz1#
关于一般捕获,而不是区分个别异常。
可以使用基类异常,如
IOException
,并删除其子异常,如EOFException
. 这是一个很好的实践,因为所有(可能将来)子异常都被捕获。这一原则在某种程度上也适用throws IOException
条款运行时异常,如果未在其自身中处理
catch
,只应被抓获,可能以相同的方式,如RuntimeException
,当它是一个包罗万象的时候(一个人不应该总是抓住一切。)