當我編寫一個新的異常類型時,我應該只寫出所需的構造函數,還是實現存在於Throwable
中的所有構造函數(並調用它們的super()
)?創建一個新的異常類型 - 寫入所有的構造函數還是隻寫需要的?
想一想,我會說只實施需要的東西(YAGNI - 你不會需要它)。如果我以後需要另一個構造函數,我只需添加它。
例子:
public void MyException extends RuntimeException {
// I only need this constructor
public MyException(Throwable cause) {
super(cause);
}
}