函数Java中没有允许的异常

Moh*_*gal 1 java exception function

在C++中,我可以声明一个不能进一步抛出异常的函数

int myfunction (int param) throw(); // no exceptions allowed
Run Code Online (Sandbox Code Playgroud)

我可以用Java编程语言进行这样的声明吗?

Joa*_*uer 5

不,任何方法都可以抛出未经检查的异常(RuntimeExceptionError).

您只需要在方法声明中列出已检查的异常(Exception不派生的子类RuntimeException).

还有一个丑陋的注意事项:虽然编译器确实检查没有抛出未声明的已检查异常,但你可以使用一些丑陋的技巧(有时称为偷偷摸摸的抛出,Project Lombok 明确支持它)来解决这个问题.