IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Assertion plutôt qu'une exception dans la génération automatique de méthode


Sujet :

C#

  1. #1
    Membre éprouvé
    Avatar de NiamorH
    Inscrit en
    Juin 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 1 309
    Points : 1 051
    Points
    1 051
    Par défaut Assertion plutôt qu'une exception dans la génération automatique de méthode
    Bonjour,
    lorsque j'utilise la fonction "Generate Method Stub" de l'IDE VS2008, pourquoi ce qui est généré est un lancement d'exception 'NotImplementedException' et pas un simple Debug.Assert ?

    Plus généralement, pourquoi la plupart des développeurs C# tendent à lancer des exceptions au lieu de vérifier des assertions ?

  2. #2
    Expert éminent
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Points : 8 344
    Points
    8 344
    Par défaut
    Tu veux faire quoi comme assertion avec une méthode qui n'est pas implémentée ?
    De plus, ce genre de truc poserait problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public int Machin()
    {
      Debug.Assert(???);
    }
    ça compile pas, vu qu'il n'y a pas de valeur de retour. ça serait drôle que VS génère du code qui ne compile pas.

    Après je n'ai vu les Assert que pour les tests. Dans une application ça a moins de sens, si il y a une erreur quelque part il faut arrêter ce qu'on fait pour ne pas continuer de manipuler un objet non valide et c'est pour ça qu'on été crée les exceptions.
    Assert ne sert que pour déboguer un programme, lorsque l'on veut évaluer des conditions, vérifier que tout est correct, mais ça ne remplace pas les exceptions et de même dans les blocs catch on peut filtrer les exceptions alors que basiquement le Debug.Assert ne donne rien d'utilisable après dans le programme.

Discussions similaires

  1. Génération d'un OnComponentError lors d'une exception dans un tjavarow
    Par schub1015 dans le forum Développement de jobs
    Réponses: 0
    Dernier message: 12/09/2014, 11h23
  2. Réponses: 5
    Dernier message: 23/06/2006, 16h28
  3. assert ou generer une exception
    Par onap dans le forum C++
    Réponses: 2
    Dernier message: 01/12/2004, 16h49
  4. Réponses: 2
    Dernier message: 28/08/2003, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo