编程语言
首页 > 编程语言> > 尝试用Java捕获-发生异常时会发生什么?

尝试用Java捕获-发生异常时会发生什么?

作者:互联网

我对Java中的try / catch和异常有疑问.我知道这应该是基础知识,但是我想我对这是如何工作的了解有所缺失.给出以下示例代码:

String res = "";

try {
    res = methodThatCanThrowException();
    res = res + ".txt";
} catch (Exception e) {
    res = "somethingwentwrong.txt";
}

return res;

我是否保证在try和catch块中都不会设置“ res”?如果在try块中的方法调用中引发了异常,则代码控件将直接转到catch块,对吗?有没有在try和catch块中都给’res’一个值的情况?

解决方法:

如果methodThatCanThrowException引发异常,则try块中不会分配res,因此只有catch块会分配它(假设您修复了catch块).

但是,即使在已分配res之后抛出该异常,catch块也将使用新值覆盖该异常,因此,是否由两者都分配也无关紧要.

标签:exception,try-catch,java
来源: https://codeday.me/bug/20191119/2036298.html