是否有可用于抛出异常的方法参考?

时间:2014-04-09 10:14:00

标签: java exception java-8 method-reference

假设我有以下代码:

Runnable exceptionHandler = () -> throw new RuntimeException();

有没有办法让它更简洁,现在可用,或者在将来的Java版本中可用?我期待的是:

Runnable exceptionHandler = RuntimeException::throw;

有关额外信息,我打算将此代码用于可能发生异常情况的方法,但并不总是需要抛出RuntimeException。我希望在特殊情况发生时让呼叫者自由地做任何他们想做的事情。

在我看来,这对Java 8来说是不可能的,已经讨论了这个问题,并且有什么理由不可能这样做吗?

1 个答案:

答案 0 :(得分:2)

Exception::throw无效,我无法在邮件列表中找到任何相关的讨论。

但是,如果您的意图是:" 让呼叫者可以自由地在特殊情况发生时做任何他们想要的事情",您可以使用类似{的设计{1}}并写下类似的内容:

CompletableFuture

但这只适用于未经检查的异常。