interompre l'instanciation d'une classe

hudon77 Messages postés 127 Date d'inscription vendredi 21 janvier 2005 Statut Membre Dernière intervention 29 mai 2014 - 26 mai 2008 à 19:49
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 26 mai 2008 à 20:45
Bonjour!  J'aimerais savoir si il existe un moyen pour interompre l'instanciation d'une classe. Pour qu'elle sois égale a nothing si uen erreur survient.  Voici ce que je tente de faire

dim myUser as new User("Gaston")

if not myUser is nothing then..........

Le probleme c'est que dans ma classe user j'affecte des varibles privés avec le resultat d'une requete SQL.  Si ca plante mon objet est a moité rempli avec quelque propriété mais il en manque.... donc j'aimerais tout simplement que mon objet = nothing.

Merci

Nicolas!

1 réponse

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
26 mai 2008 à 20:45
Bonjour,

non ce n'est pas possible, la seule solution est de remonté l'exception ou alors de gérer ce cas.

De plus j'arrive pas à me décider si faire une requête SQL dans le constructeur d'une classe est bien propre. Pourquoi ne pas passer par une autre cache (DAO ou autre) qui te retourne un User à partir du nom ? au moins là tu pourrais retourner null. Mais tu ne dois pas reposer ton programme sur des comportements exceptionels, ton programme n'est pas censé planté. Donc je dirais de remonter l'exception est une bonne solution plutot que de retourner null (Exception qui sera évidemment attrapé par la couche présentation (ça tombe bien ASP.net le fait tout seul (oui je fais jamais de try dans mon code, mais chut ;))))

<hr />Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant
Rejoignez-nous