Question
Gestion des erreurs
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 17 ans 2 mois #3700
par david
Gestion des erreurs a été créé par david
Bonjour,
J'aimerais savoir comment sont gérées les erreurs en powershell.
J'aimerais faire ce script s'il n'y a pas d'erreur :
$i.GetDirectoryEntry().memberof | ForEach-Object {
$grp=[ADSI]\"LDAP://$($_)\"
$grp.member.add($($j.GetDirectoryEntry().distinguishedname))
$grp.setinfo()
Et afficher un message d'erreur sinon.
Comment fonctionne le throw et le trap?
Merci
J'aimerais savoir comment sont gérées les erreurs en powershell.
J'aimerais faire ce script s'il n'y a pas d'erreur :
$i.GetDirectoryEntry().memberof | ForEach-Object {
$grp=[ADSI]\"LDAP://$($_)\"
$grp.member.add($($j.GetDirectoryEntry().distinguishedname))
$grp.setinfo()
Et afficher un message d'erreur sinon.
Comment fonctionne le throw et le trap?
Merci
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 17 ans 2 mois #3702
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Gestion des erreurs
dav écrit:
Voir aussi les fichiers About.
Consulte ce tutoriel en anglais.Comment fonctionne le throw et le trap?
Voir aussi les fichiers About.
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- david
- Auteur du sujet
- Hors Ligne
- Membre senior
-
Réduire
Plus d'informations
- Messages : 59
- Remerciements reçus 0
il y a 17 ans 2 mois #3718
par david
Réponse de david sur le sujet Re:Gestion des erreurs
J'ai pas tout compris au tutoriel.Tu n'as pas un exemple simple d'un traitement normal avec une exception en cas d'erreur avec le trap throw
Merci
Merci
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 17 ans 2 mois #3721
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Re:Gestion des erreurs
dav écrit:
Essaie de créer l'exemple que tu demandes et dis nous ce qui ne fonctionne pas
A mon avis cela ne sert à rien de te proposer un exemple si tu ne comprends pas le principe des exceptions. Le connais-tu ?
Qu'est-ce tu n'as pas compris ?J'ai pas tout compris au tutoriel.
Essaie de créer l'exemple que tu demandes et dis nous ce qui ne fonctionne pas
A mon avis cela ne sert à rien de te proposer un exemple si tu ne comprends pas le principe des exceptions. Le connais-tu ?
Tutoriels PowerShell
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 17 ans 2 mois #3747
par Arnaud Petitjean
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Réponse de Arnaud Petitjean sur le sujet Re:Gestion des erreurs
Salut !
Une façon simple et rapide est de vérifier la valeur du dernier message d'erreur reçu par l'interpreteur de commandes.
Il faut savoir que PowerShell consigne toutes les erreurs dans la variable $error. Il s'agit d'une variable de type tableau (Array) dite \"automatique\". La dernière erreur se trouve donc à l'indice 0.
Essaie d'afficher $error[0] pour voir ce qu'elle contient.
Donc l'idée est de réinitialiser sa valeur au début de ton script; puis à la fin de ton bloc de script tu regardes son contenu. S'il est toujours vide c'est qu'il n'y a eu aucune erreur.
Exemple :
[code:1]
$error[0]=''
#Début du code
bla bla bla
bla bla bla
# fin du code
if ($error[0] -ne \"\"«»){
Write-Host \"Une erreur s'est produite\"
}
[/code:1]
Arnaud
PS : Si tu veux des infos sur le throw et trap, je te suggère de te repporter à notre livre car c'est un sujet relativement complexe à expliquer ici. Je me rappelle y avoir consacré de nombreuses journées à rédige cette partie...<br><br>Message édité par: Arnaud, à: 15/01/09 22:47
Une façon simple et rapide est de vérifier la valeur du dernier message d'erreur reçu par l'interpreteur de commandes.
Il faut savoir que PowerShell consigne toutes les erreurs dans la variable $error. Il s'agit d'une variable de type tableau (Array) dite \"automatique\". La dernière erreur se trouve donc à l'indice 0.
Essaie d'afficher $error[0] pour voir ce qu'elle contient.
Donc l'idée est de réinitialiser sa valeur au début de ton script; puis à la fin de ton bloc de script tu regardes son contenu. S'il est toujours vide c'est qu'il n'y a eu aucune erreur.
Exemple :
[code:1]
$error[0]=''
#Début du code
bla bla bla
bla bla bla
# fin du code
if ($error[0] -ne \"\"«»){
Write-Host \"Une erreur s'est produite\"
}
[/code:1]
Arnaud
PS : Si tu veux des infos sur le throw et trap, je te suggère de te repporter à notre livre car c'est un sujet relativement complexe à expliquer ici. Je me rappelle y avoir consacré de nombreuses journées à rédige cette partie...<br><br>Message édité par: Arnaud, à: 15/01/09 22:47
MVP PowerShell et créateur de ce magnifique forum
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.098 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Gestion des erreurs