到目前为止,我认为每个 Java 异常都必须由构造函数在某处创建,因为我可以自己创建自定义异常:
throw new Exception();
但现在看来我必须处理来自 JavaMail - MessagingException的一些异常。它来自方法(从类Store.close
继承)。Service
我去了那里(我需要检查什么时候抛出这个异常,这样我才能知道哪里出了问题),我看到这个方法调用了另外两个方法——它们都没有抛出异常!
public synchronized void close() throws MessagingException {
setConnected(false);
notifyConnectionListeners(ConnectionEvent.CLOSED);
}
据我了解,这是检查异常(既不是错误也不是 RuntimeException),那么它怎么可能不必在close
方法命令使用的任何一个中声明呢?它也不是在此方法中创建的。