java - Java中单个catch子句中有多少个异常?
问题描述
从 Java 7 开始,我们可以在单个 catch 子句中捕获多个异常,如下所示。
try {
// Your code here.
} catch (IllegalArgumentException | SecurityException | IllegalAccessException |
NoSuchFieldException e) {
// Handle exception here.
}
在同一个 catch 子句中可以捕获多少个异常?有没有限制?同一 catch 中异常数量的最佳做法是什么?
解决方案
关于一般捕获,不区分个别例外。
您可以使用基类异常,如IOException
,并删除其子异常,如EOFException
. 这是一个很好的做法,因为所有(可能是将来的)子异常都会被捕获。这一原则也适用于throws IOException
条款。
运行时异常,当不被自己处理时catch
,应该只被捕获,也许以相同的方式,RuntimeException
当它是一个包罗万象的时候。(一个人不应该总是抓住一切。)
推荐阅读
- python - 当 num_of_stages: 1 (RPN only) in tensorflow object-detection api 时,导出推理图会出错
- selenium-webdriver - 将浏览器版本添加到 pytest-html 报告
- python - Spyder 在后台空转时崩溃
- if-statement - 将 if-elif-else-if-else 条件结构简化为单个 if-else
- jquery - jQuery.ajax 网址:rails
- r - 用 rvest 按 id 抓取 dataTable,找不到表
- javascript - 为 Gatsby JS 创建 BuyMeACoffee 组件
- google-cloud-platform - Google Analytics 是否关闭了“导入数据”选项?我已多次单击该选项,但没有成功
- flutter - 小部件对颤动的故障影响?
- javascript - 如何在本机反应中搜索映射列表