簡體   English   中英

使用try catch環繞“拋出新異常()”

[英]surround “throw new Exception()” with try catch

throw new Exception();

如果將此語句放在方法中,則應在方法名稱后添加throws Exception 或者,您可以使用try-catch包圍語句

try {
    throw new Exception();
} catch (Exception e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

但這里有什么意義呢? 編譯器允許它,所以我只想知道它是否是故意設計的。 我好奇。

實際上,這在某些情況下很有用。

比如,您想要執行一系列任務,如果其中任何一個失敗,您希望中​​止序列並執行其他任務。

確實,您可以使用一系列if語句執行相同操作,但這提供了另一種方法。

try{
// do task 1
// if failed, throw new Exception("Task 1 Failed");

// do task 2
// if failed, throw new Exception("Task 2 Failed");

// do task 3
// if failed, throw new Exception("Task 3 Failed");

...

}catch(Exception e){
 // System.err.println(e.getMessage());
 // do somthing else
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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