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

WinDev Discussion :

Quand exception dans - après le 'fin' elle continue ? Quid 'fin programme' ? [WD19]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Par défaut Quand exception dans - après le 'fin' elle continue ? Quid 'fin programme' ?
    Bonjour, (je suis en WD19 et non pas WD18)

    Quand j'utilise 'quand exception dans' - 'faire' - 'fin' ...

    et que je déclenche une exception pour tester le bazar ...

    Je m'attendais à ce que le programme s’arrête au 'fin' (genre fin programme) ? et non pas continuer les traitements après le 'fin' une fois le 'faire' terminé ?

    Une exception est quand même d'un telle sévérité, que dans la vie réelle, le programme plante, non ?
    Donc pourquoi, en déclenchant une exception le programme ne s’arrête pas ?

    Est-ce que dans mon 'faire' je dois explicitement stipuler un 'fin programme' ?

    BAV

  2. #2
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 468
    Par défaut
    Bonjour,
    Le principe du QUAND EXCEPTION est justement de traiter l'exception pour éviter un plantage du programme.
    A toi de voir si tu veux terminer le programme, ou continuer.
    Une division par 0 déclenche une exception, mais est-ce suffisant pour stopper le programme ?

    Tatayo.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Par défaut
    OK.
    Mais quand ça plante aujourd'hui, sans le code 'exception' mon programme est fermé brutalement.
    Donc si je comprends bien, avec l'exception, je n'aurais plus de plantages ? En tout cas dans ces parties de code ou j'ai mis 'quand exception dans'.

    Je partais du principe que cela allait toujours planter, mais qu'au moins maintenant j'avais instauré un système de 'backup'...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    425
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 425
    Par défaut
    quand est-il des messages 'erreur' lors d'un plantage ?
    Avec un 'quand exception dans' ... je peux récupérer ce message ? Je suppose avec un ErreurInfo() ?

  5. #5
    Expert confirmé
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 468
    Par défaut
    Pour récupérer la cause de l'exception, il faut utiliser ExceptionInfo().
    Pour ce qui est du traitement de l'exception, tout dépend du programme, de ce qui a déclenché l'exception...
    Si l'erreur n'est pas récupérable, il n'y aura pas d'autre choix que la fermeture du programme.
    Mais tu peux afficher un message à l'utilisateur, créer un dump pour débogage, envoyer un mail au support, créer un fichier de log... au lieu d'un plantage pur et simple.

    Bref il faut voir au cas par cas ce qu'il convient de faire dans le traitement de l'exception.

    Tatayo.

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

Discussions similaires

  1. [WD17] Fonction "quand exception dans"
    Par lololebricoleur dans le forum WinDev
    Réponses: 5
    Dernier message: 26/04/2012, 08h56
  2. Réponses: 2
    Dernier message: 09/03/2010, 13h16
  3. gestionnaire d'Exception dans DLL
    Par pirbd dans le forum Langage
    Réponses: 2
    Dernier message: 03/03/2005, 18h58
  4. Capture d'exception dans un constructeur
    Par declencher dans le forum Composants VCL
    Réponses: 8
    Dernier message: 03/02/2004, 12h52
  5. 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