當異常出現在當前方法中,程序只對異常進行部分處理,還有一些處理需要在方法的調用者中才能處理完成,此時還應該再次拋出異常,這樣就可以讓方法的調用者也能捕獲到異常;
Eg:
public static void buy(String price) throws Exception {
try {
if(price != null)
Double.parseDouble(price);
} catch (Exception e) {
e.printStackTrace();
throw new Exception("價格不能只能是數字組成");
}
}
public static void main(String[] args) {
try {
buy(null);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}