java - 当方法中没有代码会抛出检查异常时声明“抛出异常”
问题描述
throws Exception
我很好奇在没有任何代码会引发检查异常的方法中声明是否存在危害或任何不希望的副作用。特别是在单元测试中说话。可以这样声明测试
@Test
void testSomething() throws Exception {
... some test code but none that throw a checked exception ...
}
除了在 IDE 中将该代码可视化为未使用之外,它可能有什么问题?
解决方案
在@Test
方法中这样做没有害处。事实上,与 JUnit 一样,这是一个方便的测试方法模板,任何未处理的、意外的异常都是将被正确报告的测试失败。通过声明您在处理使用检查异常的代码时throws Exception
不必使用块,例如文件系统上的操作是您的测试设置的一部分但不是测试目标。try-catch
但是,您不应该在普通代码中执行此操作,因为这会强制调用该方法的任何人进行处理Exception
,因为它没有被抛出,所以没有任何意义。
推荐阅读
- python - 解决两体问题的跳蛙算法
- php - php mail() 返回 true 但收不到邮件
- python-3.x - 管道在 Pandas 的 Apache Airflow 中不起作用
- javascript - 检查页面加载时窗口是否打开(javascript)
- javascript - 在客户端 JavaScript 中读取 Excel 文件
- javascript - 更改 classList.toggle 上元素内容的 CSS 方式
- ffmpeg - ffmpeg 无法解析 DASH-IF 清单
- python - python不能播放mp3文件,第一天学习代码
- java - 从 Seekbar Java 更新 int 值
- python - 为什么在我尝试重新加载 Django 网页后,我在 urls.py 中应用的更改没有反映出来?