[英]JDK 7 Catching Multiple Exception Types and Rethrowing Exceptions with Improved Type Checking
[英]Catching exception types twice
我們可以在main方法中用不同的消息兩次捕獲異常類型嗎? 我想打印出另一條警告。
try {
// some code
} catch (NumberFormatException e) {
System.out.println("Wrong input!");
} catch (NumberFormatException e) {
System.out.println("No valid number!");
}
您不能兩次捕獲相同的異常類型(如NumberFormatException
)。 我建議您一次捕獲它,但是在catch塊中,您打印兩個消息。
您不能兩次捕獲相同的異常。
您可以做的是在代碼中引發自定義異常,並在需要其他行為時捕獲它。
try{
...
throw new YourException(yourMessage);
}catch(YourException e){
}
據我了解,您想針對您的例外情況顯示正確的信息:
try {
// some code
} catch (NumberFormatException e) {
System.out.println(e.getMessage());
}
您不能兩次捕獲相同的異常。
考慮以下示例,
try {
} catch (FileNotFoundException e) {
System.err.println("FileNotFoundException: " + e.getMessage());
throw new SampleException(e);
} catch (IOException e) {
System.err.println("Caught IOException: " + e.getMessage());
}
這里,
這兩個處理程序都會打印一條錯誤消息。 第二個處理程序不執行其他操作。 通過捕獲第一個處理程序未捕獲的任何IOException,它允許程序繼續執行。
除打印消息外,第一個處理程序還會引發用戶定義的異常。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.