Les exceptions cochées ne doivent être utilisées que si l'exception est inévitable avec une utilisation correcte de l'API et que l'utilisateur de l'API peut prendre des mesures utiles lorsque l'exception se produit.
Si une seule exception vérifiée est levée par la méthode, augmente-t-elle considérablement la charge sur l'implémenteur? .. (** Je ne pouvais pas comprendre quelle était la raison **)
Au lieu de lancer une exception vérifiée, il existe un moyen de renvoyer un facultatif vide. L'inconvénient de cette méthode de renvoi facultatif est que les informations sur l'échec de l'exécution du calcul souhaité ne peuvent pas être fournies à l'appelant.
Pour éviter une exception vérifiée, il existe une méthode qui renvoie un booléen qui vérifie l'état et une méthode qui renvoie une exception non vérifiée, bien qu'elle ne soit pas toujours valable.
// Invocation with state-testing method and unchecked exception
if (obj.actionPermitted(args)) {
obj.action(args);
} else {
... // Handle exceptional condition
}
Recommended Posts