Question
Gestions des codes retour / erreurs
- vlb
- Hors Ligne
- Membre junior
-
Réduire
Plus d'informations
- Messages : 25
- Remerciements reçus 0
il y a 14 ans 10 mois #9621
par vlb
Vincent
Dans le doute, reboot...
Réponse de vlb sur le sujet Re:Gestions des codes retour / erreurs
Bonjour,
Je rebondis sur votre gestion des erreurs.
La fonction suivante permet l'arrêt d'un script en cas d'erreur d'une application Win32, tel que IIS ou SQL.
Je pense que ce code peut être... condensé, voir amélioré.
Trap ; break n'est pas utilisé car ici je veux évaluer $LASEXITCODE que je loggue dans un fichier pour traitement ultérieur.
[code:1]function LogErr {
param ([string]$app = $null)
# Je pense pas que c'est très utile ici
$ErrorActionPreference = \"Stop\"
$LASTEXITCODE
if ($LASTEXITCODE -ne 0)
{
write-host \"Erreur $LASTEXITCODE!\"
\"$app has failed.Error $LASTEXITCODE\" >> ($logDir+\"FlexErr.log\"«») # la variable $logdir est déclaré à \"C:\\"
;exit # pas très propre...
}
else {
write-host \"Pas d'erreur $app!\"
}
}[/code:1]
Après relecture du code, je passe à coté du fonctionnement normal de la gestion des erreurs, et d'une mine d'or d'informations...
@Laurent, j'ai bien lu le chapitre 4 du guide de référence, cependant j'ai l'impression que dans mon cas, je veux transformer le résultat d'une erreur non-critique en erreur critique.
J'ai essayé le bout de code avec throw, je n'ai pas l'impression qu'il soit opérationnel.
Throw est utilisé pour remonter une exception, mais pas pour \"stopper\" un script ?
Si l'on peut travailler avec un trap, break plus propre et lisible, je suis à l'écoute !
Vincent
Je rebondis sur votre gestion des erreurs.
La fonction suivante permet l'arrêt d'un script en cas d'erreur d'une application Win32, tel que IIS ou SQL.
Je pense que ce code peut être... condensé, voir amélioré.
Trap ; break n'est pas utilisé car ici je veux évaluer $LASEXITCODE que je loggue dans un fichier pour traitement ultérieur.
[code:1]function LogErr {
param ([string]$app = $null)
# Je pense pas que c'est très utile ici
$ErrorActionPreference = \"Stop\"
$LASTEXITCODE
if ($LASTEXITCODE -ne 0)
{
write-host \"Erreur $LASTEXITCODE!\"
\"$app has failed.Error $LASTEXITCODE\" >> ($logDir+\"FlexErr.log\"«») # la variable $logdir est déclaré à \"C:\\"
;exit # pas très propre...
}
else {
write-host \"Pas d'erreur $app!\"
}
}[/code:1]
Après relecture du code, je passe à coté du fonctionnement normal de la gestion des erreurs, et d'une mine d'or d'informations...
@Laurent, j'ai bien lu le chapitre 4 du guide de référence, cependant j'ai l'impression que dans mon cas, je veux transformer le résultat d'une erreur non-critique en erreur critique.
J'ai essayé le bout de code avec throw, je n'ai pas l'impression qu'il soit opérationnel.
Throw est utilisé pour remonter une exception, mais pas pour \"stopper\" un script ?
Si l'on peut travailler avec un trap, break plus propre et lisible, je suis à l'écoute !
Vincent
Vincent
Dans le doute, reboot...
Connexion ou Créer un compte pour participer à la conversation.
- Laurent Dardenne
- Hors Ligne
- Modérateur
-
Réduire
Plus d'informations
- Messages : 6311
- Remerciements reçus 68
il y a 14 ans 10 mois #9641
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Gestions des codes retour / erreurs
Salut,
suchiwa écrit:
suchiwa écrit:
As-tu consulter ce post ?
En même temps je ne suis pas sûr qu'il porte sur ton sujet
suchiwa écrit:
Je ne suis pas auteur de l'ouvrage que tu références, mais Arnaud PetitJean sûrement...@Laurent, j'ai bien lu le chapitre 4 du guide de référence,
suchiwa écrit:
Je n'ai pas le temps de creuser ton pb, mais le sujet m'intéresse.cependant j'ai l'impression que dans mon cas, je veux transformer le résultat d'une erreur non-critique en erreur critique.
As-tu consulter ce post ?
En même temps je ne suis pas sûr qu'il porte sur ton sujet
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.084 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Gestions des codes retour / erreurs