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 :

Gestion erreur sur class [WD14]


Sujet :

WinDev

  1. #1
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut Gestion erreur sur class
    Bonjour,

    Voilà dans le cadre de mes recherches sur Windev je me fait une class qui permet de lire et modifier les propriétés personnalisables d'un fichier.

    Je voudrais y inclure une gestion d'erreur.

    Je m'explique j'ai une méthode de ma class qui permet de lire la valeur d'une propriétés passé en paramètre

    Voici un exemple de ce que j'obtiens

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    PROCEDURE GetCustom(UnePropriété est une chaîne)
    SI FicOuvert ALORS
    	:GetAllCustom()
    	RENVOYER :TabAss_CustomProp[UnePropriété]
    FIN
    et voici la façon dont je l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaValeur est chaine = GetCustom("Service")
    Je voudrais pouvoir ajouter une erreur si j'appel cette methode alors que le fichier n'est pas ouvert.

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    PROCEDURE GetCustom(UnePropriété est une chaîne)
    PROCEDURE GetCustom(UnePropriété est une chaîne)
    SI FicOuvert ALORS
    	:GetAllCustom()
    	RENVOYER :TabAss_CustomProp[UnePropriété]
    SINON
    	ErreurDéclenche(404,"Aucun fichier n'est ouvert")
    	RENVOYER ""
    FIN
    et lors de mon appel faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    MaValeur est chaine = GetCustom("Service")
    SI ErreurDétectée ALORS
      // traitement de l'erreur
      erreur(erreurinfo())
    FIN
    Ainsi je génère des erreurs dans ma méthode mais je les gères dans mon projet.

    Peut-on faire ce genre de chose ?
    J'espère que je suis clair

  2. #2
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    Bonjour,

    Oui, tout ça se fait très bien. Ta gestion de l'erreur est bonne, même si, personnellement, je préfère l'utilisation des exceptions dans ce genre de cas. Mais ce n'est que conceptuel, les deux mécanismes te donneront le même résultat.

  3. #3
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Citation Envoyé par klbsjpolp Voir le message
    Même si, personnellement, je préfère l'utilisation des exceptions dans ce genre de cas
    Peux tu m'éclairé un peu plus sur ce que tu aurai fait

  4. #4
    Membre expérimenté Avatar de klbsjpolp
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    1 065
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 065
    Points : 1 322
    Points
    1 322
    Par défaut
    J'aurais modifié ma méthode pour lancer une exception:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    PROCEDURE GetCustom(UnePropriété est une chaîne)
    PROCEDURE GetCustom(UnePropriété est une chaîne)
    SI FicOuvert ALORS
    	:GetAllCustom()
    	RENVOYER :TabAss_CustomProp[UnePropriété]
    SINON
    	ExceptionDéclenche(404,"Aucun fichier n'est ouvert")
    FIN
    Et je l'aurais capté lors de l'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    QUAND EXCEPTION DANS
    	MaValeur est chaine = GetCustom("Service")
    FAIRE
    	erreur(exceptionInfo)
    FIN
    Les avantages à utiliser les exceptions sont que l'erreur peut être capter au niveau de la fonction comme pour les erreurs, mais elle peut aussi l'être pour la fenêtre ou pour l'application.

    On est pas non plus obliger de gérer tout de suite après l'erreur, on peut mettre beaucoup de traitement dans un QUAND EXCEPTION DANS et gérer toutes les exceptions ensemble d'un coup.

    C'est aussi conceptuel, une erreur est une valeur de retour "normale", s'il ne le trouve pas c'est une erreur. Une exception c'est un problème exceptionnel qui n'est pas obligatoirement gérer systématiquement. Par exemple, si tu ouvres ton fichier et que tu lit ta propriété la ligne d'après, la gestion de l'erreur n'est pas utile mais devrait l'être puisque c'est une erreur.

  5. #5
    Membre expert
    Avatar de mail.spam
    Homme Profil pro
    Développeur Windev et technicien maintenance
    Inscrit en
    Janvier 2008
    Messages
    1 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Windev et technicien maintenance
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2008
    Messages : 1 914
    Points : 3 801
    Points
    3 801
    Par défaut
    Ok je te remercie

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

Discussions similaires

  1. Gestion Erreur sur DataAdapter.Update
    Par cedricg1976 dans le forum C#
    Réponses: 2
    Dernier message: 07/05/2010, 11h59
  2. erreur sur classe socket
    Par Gnius dans le forum Débuter
    Réponses: 5
    Dernier message: 29/11/2008, 13h56
  3. [PHP-JS] gestion des erreurs sur liste déroulente
    Par HwRZxLc4 dans le forum Langage
    Réponses: 9
    Dernier message: 28/05/2006, 03h21
  4. Aide sur gestion erreur
    Par Virgile59 dans le forum Access
    Réponses: 6
    Dernier message: 05/01/2006, 18h05
  5. [Upload] Problème pour gestion d'erreur avec class
    Par allserv dans le forum Langage
    Réponses: 2
    Dernier message: 27/12/2005, 13h00

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