Lubię tworzyć klasy Exception
, których nazwy wskazują na zgłaszane i zgłaszane problemy specyficzne dla aplikacji.Jak uniknąć powtórzeń w niestandardowych klasach wyjątków Javy
Aby je zdefiniować, zwykle definiuje się nowy class
, którego super-klasa to typ Exception
.
Z powodu wielu wspólnych konstruktorów w klasie rodzic Exception
, ogólnie podklasa wygląda mniej więcej tak:
package com.example.exception;
/**
* MyException is thrown when some application-level expectation is not met.
*/
public class MyException extends Exception {
public MyException() {
super();
}
public MyException(String message) {
super(message);
}
public MyException(Throwable cause) {
super(cause);
}
public MyException(String message, Throwable cause) {
super(message, cause);
}
}
Patrząc na to z perspektywy DRY uważam, że podejście to uciążliwe, szczególnie, gdy zdefiniowane są hierarchie Exception
.
Jestem zaznajomiony z narzędziami, takimi jak Lombok, które pomagają w zmniejszeniu liczby powtórzeń dla typowych wzorców Java; czy są jakieś sugestie dotyczące narzędzi, które rozwiązują ten problem powtarzania klas wyjątków?
Wygląda dobrze dla mnie. –
@SotiriosDelimanolis Uważam, że punktem, do którego stara się OP jest to, że jeśli ma 10 niestandardowych klas wyjątków, musi powtórzyć ten kod we wszystkich tych klasach wyjątków. – CKing
@CKing Nie, rozumiem. Byłoby dobrze ze mną. –