这里只是一个简单的问题.我们可以获取在Try from catch中声明的变量吗?
例如.
Try {
.....
String s7 = ftpfile1.getName().toString();
.....
}
catch {
System.out.println(s7);
}
Run Code Online (Sandbox Code Playgroud)
我知道这不是获取字符串的方法s7.所以,我想问一下,是否有任何可能的方式或我需要做什么才能获得s7捕获?分享的任何例子,相关帖子或答案?
预期结果:可以进入s7捕获.
感谢您查看,评论和解答.
ps Java新手.
s7变量的范围就在try{}块内.要使变量s7可以在catch{}块内使用,您需要增加变量的范围.你可以通过在try之外移动声明来做到这一点:
String s7 = null;
try {
.....
s7 = ftpfile1.getName().toString();
.....
} catch (Exception e) {
if (s7 != null) {
System.out.println(s7);
} else {
// s7 is null ...
}
}
Run Code Online (Sandbox Code Playgroud)
您还需要初始化s7为某个值,否则编译器会警告您使用未初始化的变量.这是因为异常会破坏正常的工作流,如果抛出异常,您的变量s7可能尚未初始化.