Les méthodes ne doivent jamais renvoyer d'erreurs de chaîne. Ils sont trop sujettes aux erreurs et sont plus coûteux que l'alternative évidente, renvoyant des codes entiers, que vous pouvez traduire en constantes descriptives et avoir une seule méthode qui traduit ces codes en chaînes. Si vous utilisez des codes d'erreur pour les imprimer (ou les enregistrer), il peut être utile d'utiliser des chaînes, mais rien ne vous empêche d'imprimer ou de consigner l'erreur dans la méthode d'erreur elle-même. renvoyer un code d'état défaillant à l'appelant.
Si vous utilisez des codes d'erreur de chaîne pour vérifier en interne dans le code pour des conditions différentes, les chaînes sont une douleur:
rv = some_function();
if (rv == "The file could not be read") {
take_corrective_action();
}
A propos, y compris les détails dans le code d'erreur, l'appelant (en général) a les détails et peut composer le message d'erreur complet:
rv = read_data(FILE);
if (rv == READ_PERMISSION_ERROR) {
log("The file " + FILE + " could not be read. You don't have permissions");
}
"Erreur: réussite!" – aviraldg
jeter une exception détaillant "succès" –
Oui, partenaire, nous l'avons fait! Prenez une bière et célébrons-la! –