6
votes

Aucune force de manipulation d'exception?

Programmation Java à Eclipse, je suis habitué à faire face à des exceptions. En C # avec VisualStudio, il semble que je ne puisse pas dire "une exception" sur une méthode ... Après beaucoup de codage, j'ai trouvé beaucoup d'exceptions et je devais les attraper comme je les ai trouvées pendant les tests. J'aimerais être obligé de les manipuler, de sorte que VisualStudio puisse dire que vous avez besoin d'une prise ou que je ne vais pas vous laisser partir :) est-ce possible?

merci


0 commentaires

4 Réponses :


10
votes

non. C # ne vous oblige pas à gérer des exceptions. C'était une décision de design concy de la part des concepteurs de langue.

Pour plus de détails sur la pourquoi, voir Le problème avec des exceptions vérifiées , où les Anders Hejlsberg discute pourquoi ils ne font pas partie de c #.


4 commentaires

Oh bien, trop mal :) Merci pour la réponse!


Ce qui, bien que prétendument érigé-orné, donne à un programmeur la liberté d'indiquer "je sais ce que je fais"


@Johannes: Avant de penser à cela comme "mauvais", je lirais cette interview. J'avais l'habitude de penser que c'était une faille en C #, mais j'ai complètement converti pour voir cela comme un "pro" ...


Eh bien, je n'ai pas de pro, je pourrais vraiment avoir besoin de savoir quand une exception pourrait lancer! :)



0
votes

Non, ce n'est pas possible.

Ce que vous pouvez faire est de rechercher la méthode de la bibliothèque .NET que vous exécutez dans MSDN: les exceptions qui devraient être lancées par la méthode sont documentées là-bas. Ensuite, vous pouvez décider desquels vous voulez attraper et lesquels vous ne voulez pas gérer ici.


2 commentaires

Pas de meilleur moyen que de les regarder dans la documentation? Il devrait y avoir une certaine possibilité de faire cela dans VisualStudio si vous me demandez :) Quelques types de "clic droit -> exceptions pouvant expliciter peuvent être levées" :) :)


@Johannes: True, ce serait bien, mais comme l'aide contextuelle de Visual Studio est assez bonne (il suffit de frapper F1 tout en ayant le curseur sur le nom de la méthode), la recherche de la documentation va assez rapidement.



0
votes

Vous pouvez utiliser divers outils pour trouver les exceptions . Il y a aussi cette chose pour .NET 4 appelé Contrats de code qui vous aident à appliquer des conditions pré / poster et éventuellement éviter certaines exceptions.


0 commentaires

2
votes

Non Il n'y a pas d'exception vérifiée dans C #. Et les raisons sont assez simples:

1) Ils ont tendance à ne pas y arriver là-bas à des fins avancées car toutes les pratiques recommandées ne traitent pas de leur manipulation explicitement ou de les transmettre la chaîne. Au lieu de cela, ce qui se passe est qu'ils sont "mangés" par des développeurs au milieu de la pile de dev.
2) car ils font naturellement partie de la documentation plutôt que sur le code exécutable, ils doivent entrer dans la documentation et ne pas encombrer la surface de code

3) C # / Cadre Documentation dans Dev Outils est l'endroit idéal pour une telle documentation. Jouer avec le navigateur d'objet Visual Studio, parcourez la méthode et vous les verrez mentionné dans le volet inférieur.


0 commentaires