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

首先是什么-最后还是捕获块?

太叔小云
2023-03-14
问题内容

考虑以下测试案例:

public class Main {

    static int a = 0;

    public static void main(String[] args) {
        try {
            test();
            System.out.println("---");
            test2();
        }
        catch(Exception e) {
            System.out.println(a + ": outer catch");
            a++;
        }
    }

    public static void test()
    {
        try {
            throw new Exception();
        }
        catch (Exception e) {
            System.out.println(a + ": inner catch");
            a++;
        }
        finally {
            System.out.println(a + ": finally");
            a++;
        }
    }

    public static void test2() throws Exception
    {
        try {
            throw new Exception();
        }
        finally {
            System.out.println(a + ": finally");
            a++;
        }
    }
}

输出:

0: inner catch
1: finally
---
2: finally
3: outer catch

对于为什么在相反的test()情况下最终发生捕获的原因有何解释test2()


问题答案:

由于中的try区块test2()没有catch区块,因此只有finally。该代码不会像您认为的那样“跳回”调用者catch,然后再“跳回”到调用者finally



 类似资料:
  • OCR应用前的图像清洗 如何提高Tesseract OCR的准确性? 什么是正确的预处理步骤,我应该遵循改善图像捕捉相机转换为文字使用OCR在Android? 如何确定设备上有文档或卡片? 如何确定卡片的所有有效区域都是完全可见的? 我能想到一些潜在的有用线索: 运动 特性点(很多很多选择,但如何正确使用它们) 当内部相机被卡片或文档压缩时,强度级别会发生显著变化。 对于第一个问题,难点是动态背景

  • 我正在查看Java SE7的新功能,目前我正在: http://docs.oracle.com/javase/7/docs/technotes/guides/language/catch-multiple.html 关于捕获多重功能,当我遇到这个语句时: 注意:如果一个捕捉块处理多个异常类型,那么捕捉参数是隐式最终的。在这个例子中,捕捉参数ex是最终的,因此您不能在捕捉块中给它赋值。 我从未注意到

  • 问题内容: 事件冒泡和捕获之间有什么区别?什么时候应该使用冒泡与捕获? 问题答案: 事件冒泡和捕获是HTML DOM API中事件传播的两种方式,当事件发生在另一个元素内部的元素中,并且两个元素都已注册了该事件的句柄时。事件传播模式确定元素以什么顺序接收事件。 冒泡时,事件首先由最内层元素捕获和处理,然后传播到外层元素。 通过捕获,事件首先被最外面的元素捕获并传播到内部元素。 捕获也称为“滴答”,

  • 问题内容: 在此Java代码中, 我期望的输出是 但是有时候我得到这个预期的输出,而在其他时候我得到以下输出: 有时甚至是这个输出: 以及我是否获得第一,第二或第三输出似乎在每次执行期间都是随机发生的。我发现此POST显然在谈论相同的问题,但我仍然不明白为什么有时会得到输出1、2或3。如果我正确理解了这段代码,那么输出1应该是我每次得到的(发生异常) )。如何确保始终如一地获得输出1,或者能够确定

  • 本文向大家介绍什么是用例优先级?相关面试题,主要包含被问及什么是用例优先级?时的应答技巧和注意事项,需要的朋友参考一下 ② 高:最常执行以保证功能性是稳定的,目标的行为和能力可以正常的工作,和重要的错误和边界被测试的测试用例的集合。 ③ 中:这是使给出的功能区域或功能变得更详细,检查功能的多数方面包括边界,错误和配置测试的测试用例。 ④ 低:这是通常最少被执行的测试用例。但这并不意味着这些测试都不