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

Windows Forms Discussion :

traitement des exceptions et sortir d'exécution


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut traitement des exceptions et sortir d'exécution
    Bonjour,

    Je voudrais savoir s'il existe une façon de renvoyer une exception à la sub appelante pour que celle ci la traite.

    par la même occasion je voudrait savoir s'il est possible par une instruction se rapprochant d' "exit" de sortir de toute exécution sans sortir de l'appli. Si par exemple j'ai une sub qui appelle une sub qui appelle une sub...etc je voudrais sortir de tout sans sortir de l'appli.

    Merci pour votre aide.

  2. #2
    Inactif  
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2007
    Messages
    6 604
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Janvier 2007
    Messages : 6 604
    Points : 13 314
    Points
    13 314
    Par défaut
    Citation Envoyé par jeandadaf Voir le message
    par la même occasion je voudrait savoir s'il est possible par une instruction se rapprochant d' "exit" de sortir de toute exécution sans sortir de l'appli. Si par exemple j'ai une sub qui appelle une sub qui appelle une sub...etc je voudrais sortir de tout sans sortir de l'appli..
    Je ne comprends pas bien ta demande : par définition si tu remonte complètement ta pile d'appel de méthodes, tu sors de l'appli.

    Une appli (hormis le cas des services) c'est une méthode static main, qui appel une autre méthode, etc .....

    Sinon, un moyen crade est de lever une exception que tu n'intercepte qu'au niveau qui t'intéresse.

    Je ne réponds pas aux questions techniques par MP ! Le forum est là pour ça...


    Une réponse vous a aidé ? utiliser le bouton

    "L’ennui dans ce monde, c’est que les idiots sont sûrs d’eux et les gens sensés pleins de doutes". B. Russel

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    Ok effectivement ma question était vague. En fait mon appli elle n'a qu'une seule form et dans le code de cette form j'appelle des subs qui appelle des sub. je voulais savoir s'il été possible de faire un certain "exit" pour revenir directement au 1er niveau (niveau source de ma form).

    effectivement c'est peut être pas possible de faire ce genre de chose.

    Pour ce qui est de renvoyer une exception à la sub appelant, comme on peut le faire en Java, c'est peut être pas possible non plus.
    ---> http://dotnet.developpez.com/cours/

    Voilà,
    A+

  4. #4
    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
    Citation Envoyé par jeandadaf Voir le message
    je voulais savoir s'il été possible de faire un certain "exit" pour revenir directement au 1er niveau (niveau source de ma form).
    Si tu as besoin de faire ça, poses toi quand même des questions.
    Tu fais quoi de spécial dans tes fonctions ? Si c'est un algorithme où c'est nécessaire tu peux passer en paramètre à toutes tes sub en référence (ByRef je crois) nommé "cancel" ou un truc du genre pour indiquer si tu dois continuer le traitement ou pas. Dès que ça vaut True, tu quittes la fonction, et de fil en aiguille tu va sortir de toute la pile.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 118
    Points : 52
    Points
    52
    Par défaut
    En fait j'ai utilisé dans le cas ou je veus sortir du programme (car anomalie par exemple):

    Throw New Exception("Problème dans la procédure Paiement. Moyen de paiement " & modePaiement & " inconnu.")

    ceci me permet de générer une exception et de la récupérer dans un try catch qui contient ce code. Alors ce code (Throw new....) peut trés bien être dans une précédure qui est appelé par une procédure qui est appelé par une procédure etc ... qui dans un try catch.

    J'espère que j'ai été a peu prés clair.

    donc pour moi j'ai trouvé ma solution.

    A+
    Et merci à tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Lazarus] Traitement des exceptions
    Par sverdo dans le forum Lazarus
    Réponses: 1
    Dernier message: 31/08/2007, 07h30
  2. Traitement des exceptions
    Par lecra dans le forum Zend Framework
    Réponses: 6
    Dernier message: 28/05/2007, 15h08
  3. traitement des exceptions
    Par jadey dans le forum SQL
    Réponses: 1
    Dernier message: 02/05/2007, 14h58
  4. Réponses: 5
    Dernier message: 08/01/2007, 14h58
  5. [Exceptions] Système de traitement des exceptions
    Par jenesuispasunrobot dans le forum Langage
    Réponses: 5
    Dernier message: 07/12/2005, 11h09

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