throw 用在方法體內,拋出一個具體的異常對象(必須是 Throwable 子類)。常用於參數驗證失敗時主動拋出業務異常:
public void setAge(int age) {
if (age < 0) {
throw new IllegalArgumentException("年齡不能為負數");
}
this.age = age;
}
throws 出現在方法簽名上,聲明該方法不處理、將向上拋出的受檢異常。調用者必須捕獲或繼續拋出。未受檢異常(RuntimeException 及子類)可不聲明。
public void readFile(String path) throws IOException {
Files.readAllLines(Paths.get(path));
}
throw 拋出自定義業務異常throws 傳遞受檢異常