java - Java 中不允许有异常的函数

标签 java function exception

在 C++ 中,我可以声明一个函数,它不能像下面那样进一步抛出异常

int myfunction (int param) throw(); // no exceptions allowed

我可以在 Java 编程语言中有这样的声明吗?

最佳答案

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

您只需要在方法声明中列出已检查的异常(Exception 子类,它们不是从 RuntimeException 派生的)。

还有一个丑陋的旁注:虽然编译器确实检查没有抛出未声明的已检查异常,但您可以使用一些丑陋的技巧来解决这个问题(有时称为 sneaky throw , Lombok 项目 supports it explicitly )。

关于java - Java 中不允许有异常的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13286888/

相关文章:

java - Android 项目中的 ClassNotFoundException 仅在我的 PC 上

java - Lucene 解析查询 : Cannot parse '' : Encountered "<EOF>" at line 1, 第 0 列时出错

c - void * 函数指针

ruby-on-rails-3 - 当发生任何异常时,如何在引发异常的位置自动启动 Rails/Ruby 中的 Pry

java - 尝试使用 Jersey Client API 执行 POST 请求时出现“已连接”异常

java - 为什么 subsequence(a,b).toString() 比 substring(a,b) 快?

javascript - 隐藏显示 div Angular

python - 如何将 multiprocessing.Pool 实例传递给 apply_async 回调函数?

c# - 我应该处理哪些异常(exception)情况

java - 每次java.lang.exception.getCause()都为null