Lancer et retourner false n'a pas de sens. Des exceptions sont utilisées pour indiquer quand des erreurs surviennent, il n'y a donc aucune raison d'avoir un indicateur booléen indiquant cela en même temps. Supposons que votre try/catch soit dans une classe BankAccount. Si votre code client ressemble à ceci:
boolean success = bankAccount.withdraw(20.00);
if(success == false) System.out.println("An error! Hmmm... Perhaps there were insufficient funds?");
else placeInWallet(20.00);
Vous pourriez faire ceci:
try {
bankAccount.withdraw(20.00);
placeInWallet(20.00);
}
catch(InsufficientFunds e) {
System.out.println("An error! There were insufficient funds!");
}
Ce qui est plus propre parce qu'il ya une séparation claire de la logique normale de la logique de gestion des erreurs.
Vous voudrez peut-être lister la langue que vous utilisez. –
La meilleure chose à faire est d'écrire du code et de l'exécuter dans le débogueur. –
@bodnarbm: oui, mais la syntaxe est probablement C++ ou un peu comme Java, et le comportement par rapport à la question ne varie pas entre ces deux langages. Je ne serais pas surpris de constater que C# ressemble et fonctionne de manière très similaire - mais je ne le sais pas. –