在 C++ 中,我可以声明一个函数,它不能像下面那样进一步抛出异常
int myfunction (int param) throw(); // no exceptions allowed
我可以在 Java 编程语言中有这样的声明吗?
最佳答案
不,任何方法总是可以抛出未经检查的异常(RuntimeException
和Error
)。
您只需要在方法声明中列出已检查的异常(Exception
子类,它们不是从 RuntimeException
派生的)。
还有一个丑陋的旁注:虽然编译器确实检查没有抛出未声明的已检查异常,但您可以使用一些丑陋的技巧来解决这个问题(有时称为 sneaky throw , Lombok 项目 supports it explicitly )。
关于java - Java 中不允许有异常的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286888/