当前位置: 首页 > 面试题库 >

有关多个“捕获”的问题

尉迟宇定
2023-03-14
问题内容

谁能告诉我为什么这个类的输出是’xa’?

为什么不会捕获其他异常(RuntimeException和Exception)?

public class Tree {
    public static void main(String... args) {
        try
        {
            throw new NullPointerException(new Exception().toString());
        }
        catch (NullPointerException e)
        {
            System.out.print("x");
        }
        catch (RuntimeException e)
        {
            System.out.print("y");
        }
        catch (Exception e)
        {
            System.out.print("z");   
        }        
        finally{System.out.println("a");}
    }
}

问题答案:

抛出的唯一异常是throw语句旁边的那个异常。另一个已创建但未抛出。无法同时引发两个异常。

通常,当在另一个异常的构造函数中传递异常时,将指示该异常是导致此异常的原因。但是,实际抛出的唯一异常是throw语句旁边的异常。

在这种情况下,NullPointerException在其构造函数中不支持Exception,因为它不是由其他异常引起的,而是由null引用引起的。在其他情况下,这是因为Java直到1.4才在Java中引入异常链接,因此某些旧式异常类没有使用新的构造函数进行改进。在这种情况下,您可以使用该initCause(Throwable)方法执行构造函数将要执行的操作。



 类似资料:
  • 我有一个工作正则表达式来提取一些信息。php代码如下所示: https://ideone.com/UdIaA7 与str:https://regex101.com/r/rF0uP7/5 带有str2的正则表达式:https://regex101.com/r/cV6iF9/1 然而,它在str上工作得很好,但在str2上却不匹配,我找不到原因

  • 问题内容: 我这样做是为了对实体对象进行延迟加载: 我想与多个延迟加载的集合返回一个实体对象 加载的 ,我能做到这一点(通过在列表中,并设置超过联想单个标准是什么?): 问题答案: 是? 该文档包含以下内容: 该查询将通过外部联接获取伴侣和小猫。有关更多信息,请参见第20.1节“获取策略”。

  • 我有一出戏!使用ebean进行模型管理的框架项目。我有4个模型,A B C D. A和B是oneTo多,B和C是OneTo多,B和D是One To多。现在我想要一个与所有相关的B C D链接的A列表。 我现在拥有的是 但是性能非常差,根据sql日志,sql查询没有按照我的要求进行连接。是否有任何方法可以对所有这些对象使用查询联接?(即,选择包含4个查询的所有A B C D,并在本地连接它们,而不是

  • 问题内容: 我需要捕获相同模式的多个组。假设我有以下字符串: 我写了以下模式 我想做的是捕获每个单词,这样第1组是:“ HELLO”,第2组是“ THERE”,第3组是“ WORLD”我的正则表达式实际上只捕获了最后一个,即“世界”。 我正在这里测试我的正则表达式,我想与Swift一起使用它(也许Swift中有一种方法可以某种方式获取中间结果,以便我可以使用它们?) 更新:我不想使用。现在,我只需

  • 为什么最后输出的是“WuffRingding”而不是“RingdingRingding”? 为什么最终输出是“颤动”而不是“振铃”?为什么最终输出是“颤动”而不是“振铃”?