je dois être bouché mais j'ai vraiment besoin d'un exemple qui veuille dire quelque chose!
Si je fais
1 2 3 4 5 6 7 8 9 10
|
public class CompteEnBanque {
private double solde ; // je mets double pour simplifier
private double découvertAutorisé ; // idem
/// codes
public void retrait(double montant) throws
ExceptionDepassementDecouvert {
// code métier qui déclenche l'exception
}
} |
je ne vois pas en quoi ceci serait un anti-pattern.
On a un "code appelant" qui demande un service et qui n'a pas de moyen de connaitre les conditions de l'echec de sa demande...
Il est normal donc d'avoir une exception controlée pour signifier l'echec de la demande de service.
Le contraire serait un drôle de détournement des principes de Java: avoir une méthode "à la fonction C" qui rendrait ....? quoi au fait?
adopter une stratégie "à la C" aurait pour conséquence:
- de laisser le code appelant écrire un code qui n'est pas forcé de prendre en compte l'échec du service.
- de spécifier dans bien des cas un résultat de retour assez tordu
(quid si la méthode doit déjà rendre un résultat "normal", quid si l'échec de service concerne un constructeur).
Donc pour revenir à ma question initiale: un exemple pertinent svp. merci
Partager