gpt4 book ai didi

java - 如何从 try catch block 外部访问变量?

转载 作者:行者123 更新时间:2023-12-01 20:18:26 25 4
gpt4 key购买 nike

我在这里收到“len 无法解析为变量”错误

        try {
byte len = (byte) passLength();
}
catch(Exception InputMismatchException) {
System.out.println("Error, please input a proper number");
}
finally {
String result = passGen(len, chars);
System.out.println(result);
}

最佳答案

变量的范围:作为一般规则, block 内定义的变量在该 block 外部不可访问。

变量的生命周期:一旦变量失去其作用域,垃圾收集器将负责销毁变量/对象。变量的生命周期是指变量在被销毁之前存在的时间。

try {
byte len = (byte) passLength();
}

在上面的示例中,变量lentry block 内声明,其作用域仅在try block 内,不能在try block 之外访问.

您甚至应该在 try block 之前声明 len 变量,以便可以在 finally block 中访问它。

byte len = Byte.MIN_VALUE;  //This value is for dummy assignment
try {
len = (byte) passLength();
} catch(Exception inputMismatchException) { // Avoid using variable name starts with Capitals
System.out.println("Error, please input a proper number");
} finally {
String result = passGen(len, chars);
System.out.println(result);
}

希望这会有所帮助:)

关于java - 如何从 try catch block 外部访问变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58946862/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com