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

VBScript Discussion :

ERRORLEVEL 0 quand le script sort en erreur !


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Par défaut ERRORLEVEL 0 quand le script sort en erreur !
    Bonjour,

    Je fais un scrip assez complexe en VBS. Je voudrais etre averti quand se script sort en erreure non prévue. Pour cela, je compte sur la valeur ERRORLEVEL qui est retournée par le script en fin d'exécution.

    Je voudrais, en fin de script, sortir sur 0 (pas d'erreur) à l'aide de "WScript.Quit (0)". Mon problème c'est que quand le script se plante en cours d'exécution pour une raison quelquonque, il sort, par défaut avec le code 0.

    Je trouve ce comportement un peu idiot puisque ce code veut dire normalement que le script s'est terminé normalement...

    Je me demande donc si quelque-chose ne m'échape pas et si il y a un moyen de dire au script de sortir avec le code 1 si il rencontre une erreure non gérée.

    J'espere avoir été assez explicite, merci.

  2. #2
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    tout betement tu n'aurais pas un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    On Error Resume Next
    qui traine qquepart ?

  3. #3
    Membre confirmé Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Par défaut
    J'ai testé ce comportement dans un programme minimaliste de test :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Option Explicit
     
    Dim i
    'Je génère volontairement une erreur
    i = 10 /0
    WScript.echo "test"
    WScript.Quit (0)
    Ce script sort avec ERRORLEVEL = 0 soit pas d'erreur...

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Au contraire, moi je laisserais le On Resume Next Error et je gérerais les erreurs moi-même et à chaque fois que je décourvrirais une erreur le pourrais faire un WScript.Quit("ce que je veux").

  5. #5
    Membre confirmé Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Par défaut
    On parle ici d'un script de plus de 1800 lignes qui accède à des bases de données et fichiers de config. Les causes possibles d'erreur sont très nombreuses !
    Avec la gestion plus que laborieuse des erreurs avec VBS, je ne vais surement pas m'amuser à imaginer tous les cas possibles. Du coup, je voudrais simplement savoir quand mon programme ne s'est pas terminé normalement.

  6. #6
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    tu n'as pas besoin d'imaginer les erreurs.
    En vbs les erreurs sont stockés dans l'objet err.
    Moi en général ce que je fait c'est la construction d'un fichier log avec les données de l'objets. Mais à la place tu peut faire un quit avec la valeur que tu veux, genre la valeur d'une propriété err.

  7. #7
    Membre chevronné
    Inscrit en
    Août 2007
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 58

    Informations forums :
    Inscription : Août 2007
    Messages : 302
    Par défaut
    qquechose comme ca ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    Option Explicit
     
    Dim i
    'Je génère volontairement une erreur
     
    on error resume next
     
    i = 10 /0
     
    If Err <> 0 then 
       msgbox "Erreur : " & err & " y a une erreur"
    else
       msgbox "y en a pas"
    end If 
     
    WScript.Quit

  8. #8
    Membre confirmé Avatar de monstroplante
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    107
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 107
    Par défaut
    Ce que je veu dire c'est que si je suit votre logique, il va faloire que je vérifie la valeur de l'objet err au moins 100 fois dans mon script qui est déja suffisement lourd. Je ne tiens pas à faire ca et en plus ca ne m'apportera pas grand chose de plus. Tout ce que je voudrais c'est que mon script sorte avec 1 si il plante et 0 dans les autres cas.

    Existe-t-il un moyens de faire ca ?

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

Discussions similaires

  1. [CMake] NMake sort une erreur de liaison
    Par khazna dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 02/05/2010, 14h47
  2. Empêcher l'arrêt d'un script suite à une erreur
    Par ProgVal dans le forum Langage
    Réponses: 12
    Dernier message: 02/11/2009, 15h30
  3. [DOM] Internet Explorer me sort une 'Erreur : Objet Requis' :/
    Par VilainMelkor dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 08/11/2008, 12h42
  4. Réponses: 8
    Dernier message: 05/02/2008, 11h35
  5. [Script] désactiver les erreurs E_STRICT
    Par jeanvincent dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 17/10/2005, 14h33

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