Java 何时应包装运行时/未检查的异常-例如CompletionException
何时应该包装运行时/未检查的异常?需要什么?Java 何时应包装运行时/未检查的异常-例如CompletionException,java,exception,exception-handling,java-8,runtimeexception,Java,Exception,Exception Handling,Java 8,Runtimeexception,何时应该包装运行时/未检查的异常?需要什么? 为什么在java8中引入了CompletionException?java中还有其他示例,请尽可能多地包含示例。每当我引入接口时,我都会包装选中的异常。例如,如果我有一个接口 public interface DoSomething { void doSomething() throws DoSomethingException } 使用我自己选中的异常类DoSomethingException。这是因为我正在与接口的客户机签订一项合同,只有该异常
为什么在
java8
中引入了CompletionException
?java中还有其他示例,请尽可能多地包含示例。每当我引入接口时,我都会包装选中的异常。例如,如果我有一个接口
public interface DoSomething { void doSomething() throws DoSomethingException }
使用我自己选中的异常类DoSomethingException
。这是因为我正在与接口的客户机签订一项合同,只有该异常才会被抛出。这将客户机与DoSomething
实现引发的异常分离。无论我是否捕获运行时异常
并用选中的异常进行包装,我都会根据具体情况进行处理。例如,如果DoSomething
的一个实现使用了一个抛出RuntimeException
s的类,我将捕获RuntimeException
s并将它们包装到我选中的异常中
Java8中引入的
java.util.concurrent.CompletionException
是concurrent包的一部分,它表明它用于Java8中引入的新并发工具。例如,谢谢你的回答。我理解在检查异常的情况下包装的需要,我的问题是检查异常。我要问的另一个问题是,为什么在java8中引入completionException类?每当您投票赞成close时,请选择评论您的理由。作为反馈可能会有帮助,但你没有。霍尔格的问题不是谁做的,而是为什么?需要什么?看和