關與異常捕捉這個問題
首先我們要區分什麼時候用try {}catch(){}
什麼時候用throw 什麼時候用throws,
1.如果你需要抓取具體的異常那麼需要對代碼塊用try {}catch(){}
2.如果你將抓取的異常拋出到控制檯或日誌中就需要用到throw — 注意這個throw一般會寫在catch代碼塊裏,還有就是如果catch中加了這個throw,並且try {}catch(){}
捕捉到異常執行到throw拋出異常,那麼整個方法都會停止不再執行,,,所以如果在捕捉到異常的情況下需要程序繼續往後執行的話,可以不選用用throw拋出異常,而是通過e.printStackTrace();
打印出報錯信息
例如:
try {
member = CalculateUtils.calculateByTimer(member, list);
} catch (Exception e) {
//throw e;
e.printStackTrace();
}
3.如果不想捕捉異常和拋出異常,也可以聲明異常,這裏就用到throws
例如:
public void testMethod() throws IOException { // …… }
一般用在程序內捕捉不了異常的情況(或者偷懶不想解決的情況),這樣聲明後調用者就只能選擇繼續聲明或捕捉異常。
然後我們還要知道異常的分類,關於分類網上一大堆,有空我再一一詳解