尝试用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