簡體   English   中英

捕獲異常類型兩次

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM