[英]Java how to access a variable outside the try-catch block
我是java的初學者,正在玩try-catch塊。但是,我無法在try-catch塊之外獲取變量。
以下代碼有效。
class factorial{
public static void main(String[] args){
try {
int num = Integer.parseInt(args[0]);
System.out.println(num );
}
catch(Exception e){
System.out.println(e+" Cannot convert arg to int, exiting..");
}
}
}
但以下不起作用。
class factorial{
public static void main(String[] args){
try {
int num = Integer.parseInt(args[0]);
}
catch(Exception e){
System.out.println(e+" Cannot convert arg to int, exiting..");
}
System.out.println(num );
}
}
嘗試了以下內容
class factorial{
public static void main(String[] args){
int num;
try {
num = Integer.parseInt(args[0]);
}
catch(Exception e){
System.out.println(e+" Cannot convert arg to int, exiting..");
}
System.out.println(num );
}
}
但錯誤說明The local variable num may not have been initialized
我怎樣才能擺脫這個錯誤?
你應該在try塊之前聲明變量(為了使它在try-catch塊之后仍然在范圍內),但是給它一個初始值:
class factorial{
public static void main(String[] args){
int num = 0;
try {
num = Integer.parseInt(args[0]);
}
catch(Exception e){
System.out.println(e+" Cannot convert arg to int, exiting..");
}
System.out.println(num );
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.