我一直盯着這個小時,無法想出解決方案;我通常處理這種類型的正則表達式與驗證,但想使用一個變化的內置解決方案(很明顯,我不經常這樣做):Java try/catch - 「找不到返回」或「變量未初始化」?
private static double promptUserDecimal(){
Scanner scan = new Scanner(System.in);
System.out.println("Enter a decimal");
try{
double input2 = Double.parseDouble(scan.nextLine());
return input2;
} catch(NumberFormatException e){
System.out.println("Sorry, you provided an invalid option, please try again.");
}
}
這樣做的錯誤是「迴歸「沒有被編譯器找到,所以我得到一個編譯錯誤。如果我把「返回」放在try/catch之外,我需要聲明/初始化「input2」,這會破壞操作的目的。任何援助表示讚賞...
你捕捉到這個異常,打印出一條消息,但是這個方法仍然繼續來自catch塊。編譯器抱怨說,如果catch塊被擊中,你不會返回路徑返回) – birryree