一個 Java 文件中每個方法都需要拋出相同的異常(如 throws MyException),尋找快捷鍵一次性添加。
Eclipse/MyEclipse 沒有原生功能「選中多個方法 → 一鍵添加相同 throws 子句」。
將異常捕獲與處理邏輯集中到一個輔助方法或切面(AOP),方法簽名不再聲明 throws,調用者無感知。
// 原始:每個方法都 throws MyException
public void methodA() throws MyException { ... }
public void methodB() throws MyException { ... }
// 重構:內部捕獲轉換為運行時異常或統一處理
public void methodA() {
try { ... } catch (CheckedException e) { throw new MyRuntimeException(e); }
}
public void methodB() {
try { ... } catch (CheckedException e) { throw new MyRuntimeException(e); }
}
優點:消除重複 throws,調用鏈更乾淨,符合「異常轉譯」最佳實踐。
Name: throwsme
Pattern: throws MyException
Description: 快速添加 throws MyException
throwsme 按 Ctrl+Space 選中模板,快速插入。在支持多游標的編輯器(VS Code: Alt+Click, IDEA: Alt+Shift+Click)中同時編輯多行方法簽名。
Ctrl+F 開啟查找替換,啟用正則:
查找: (public|protected|private)\s+\w+\s+\w+\s*\([^)]*\)\s*\{
替換: $1 $2 $3($4) throws MyException \{
說明: 需精確匹配方法簽名,複雜泛型/拋出異常已存在時極易出錯,建議備份後小範圍嘗試。
無一鍵批量添加 throws 功能。推薦採用「異常轉譯重構」從設計層面解決,或使用代碼模板輔助單個方法編寫。正則替換屬高風險操作,非必要不建議使用。