我对Java中的try / catch和exceptions有疑问。我知道这应该是基础知识,但是我想我对这是如何工作的了解有所遗漏。给出以下代码为例:
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
抛出异常,res
则不会在该try
块中分配异常,因此只有该catch
块会对其进行分配(假设您修复了catch块)。
但是,即使res
已经分配了异常之后,catch块也将使用新值覆盖该异常,因此,是否由双方分配都没有关系。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句