Java丢失异常

用户名

假设我们有以下方法(一个非常简化的版本):

    void doSomething() {
      try {
        throw new Exception("A");
      } finally {
        throw new Exception("B");
      }
    }

消息“ B”的异常被调用方方法捕获。基本上,如果finally块也抛出某些异常,是否有办法知道在try块中引发了哪个异常?假设方法doSomething()无法修改。

格特曼

JLS的14.20.2节规定:

如果由于抛出值V而导致try块的执行突然完成,则...

...

如果finally块由于原因S突然完成,则try语句由于原因S突然完成(并且值V的抛出被丢弃并忘记了)。

Java必须丢弃原始异常V(“突然完成”),并且整个try-finally块将使用Sfinally Exception“ B”)“突然完成”。

无法检索与JLS中try对应的原始块异常“ A” V

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

当最终抛出异常时,为什么Java不支持从try / catch丢失的异常中检索异常?

来自分类Dev

XDocument异常:根元素丢失

来自分类Dev

Hibernate异常丢失表PostgreSQL

来自分类Dev

Python27.dll文件丢失-异常

来自分类Dev

JavaScript异常在承诺链中丢失

来自分类Dev

WCF ASync ...客户端丢失的异常

来自分类Dev

JavaScript异常在承诺链中丢失

来自分类Dev

Java 1.8.65 Javac丢失

来自分类Dev

Java DatagramChannel数据丢失

来自分类Dev

R Java文件丢失

来自分类Dev

TCP丢失数据java

来自分类Dev

多次抛出异常会丢失其原始堆栈跟踪

来自分类Dev

ngSanitize已被凉亭移除,现在我收到ngSanitize丢失的异常

来自分类Dev

为什么我会丢失SWIG,C ++,Python的异常

来自分类Dev

从'stream()'或'parallelStream()'中捕获异常会丢失正确的值

来自分类Dev

Elasticsearch快照还原抛出“存储库丢失”异常

来自分类Dev

Akka.net容错,SuperVisorStrategy并丢失导致异常的消息

来自分类Dev

尝试写入NFC标签时,标签丢失异常

来自分类Dev

在Rx中,如何确保不会因异常而丢失通知

来自分类Dev

json.net IValueProvider SetValue引发的异常丢失

来自分类Dev

使用 @ControllerAdvice 注释类处理异常时丢失堆栈跟踪

来自分类Dev

java System.out丢失了

来自分类Dev

避免Java中的缓存丢失

来自分类Dev

Java反射丢失注释信息

来自分类Dev

Java泛型,类型丢失

来自分类Dev

Java Servlet请求参数丢失

来自分类Dev

调度Java中的异常

来自分类Dev

Java,默认异常消息

来自分类Dev

Java RMI异常错误