Pourquoi le compilateur C# n'est pas assez intelligent dans le scénario suivant?Compilateur nécessitant une valeur de retour - Ne pas remarquer d'exception inconditionnelle dans la méthode appelée
void ThrowEx() {
throw new Exception();
}
int Test() {
ThrowEx();
}
... Test(): tous les chemins de code renvoient une valeur
Edit: dans la pratique, je veux extraire la logique lancer exception dans une méthode distincte parce que je suis fatigué taper des choses comme throw new FaultException<MyCustomFault>(new MyCustomFault(), "cannot validate the input");
Combien analyse que vous voulez le compilateur faire? À quelle profondeur devrait-il aller? –
Pourquoi voudriez-vous cela? – Doggett
La réponse simple est que c'est un compilateur pas un interprète – ChrisF