首页 > 解决方案 > 当方法中没有代码会抛出检查异常时声明“抛出异常”

问题描述

throws Exception我很好奇在没有任何代码会引发检查异常的方法中声明是否存在危害或任何不希望的副作用。特别是在单元测试中说话。可以这样声明测试

@Test
void testSomething() throws Exception {
    ... some test code but none that throw a checked exception ...
}

除了在 IDE 中将该代码可视化为未使用之外,它可能有什么问题?

标签: javaexception

解决方案


@Test方法中这样做没有害处。事实上,与 JUnit 一样,这是一个方便的测试方法模板,任何未处理的、意外的异常都是将被正确报告的测试失败。通过声明您在处理使用检查异常的代码时throws Exception不必使用块,例如文件系统上的操作是您的测试设置的一部分但不是测试目标。try-catch

但是,您不应该在普通代码中执行此操作,因为这会强制调用该方法的任何人进行处理Exception,因为它没有被抛出,所以没有任何意义。


推荐阅读