假设我有以下代码:
Runnable exceptionHandler = () -> throw new RuntimeException();
有没有办法让它更简洁,现在可用,或者在将来的Java版本中可用?我期待的是:
Runnable exceptionHandler = RuntimeException::throw;
有关额外信息,我打算将此代码用于可能发生异常情况的方法,但并不总是需要抛出RuntimeException
。我希望在特殊情况发生时让呼叫者自由地做任何他们想做的事情。
在我看来,这对Java 8来说是不可能的,已经讨论了这个问题,并且有什么理由不可能这样做吗?
答案 0 :(得分:2)
Exception::throw
无效,我无法在邮件列表中找到任何相关的讨论。
但是,如果您的意图是:" 让呼叫者可以自由地在特殊情况发生时做任何他们想要的事情",您可以使用类似{的设计{1}}并写下类似的内容:
CompletableFuture
但这只适用于未经检查的异常。