首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

詳解 Java throw 與 throws 關鍵字應用差異

     編輯:Java 相關知識

throw:主動拋出異常實例

throw 用在方法體內,拋出一個具體的異常對象(必須是 Throwable 子類)。常用於參數驗證失敗時主動拋出業務異常:

public void setAge(int age) {
    if (age < 0) {
        throw new IllegalArgumentException("年齡不能為負數");
    }
    this.age = age;
}

throws:聲明方法可能拋出的異常

throws 出現在方法簽名上,聲明該方法不處理、將向上拋出的受檢異常。調用者必須捕獲或繼續拋出。未受檢異常(RuntimeException 及子類)可不聲明。

public void readFile(String path) throws IOException {
    Files.readAllLines(Paths.get(path));
}

最佳實踐

  • 業務邏輯驗證失敗用 throw 拋出自定義業務異常
  • IO、資料庫等操作在方法簽名加 throws 傳遞受檢異常
  • 避免過度使用 throws 污染介面,內部可捕獲轉為非受檢異常
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved