Question Gestion des erreurs

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3702 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Gestion des erreurs
dav écrit:

Comment fonctionne le throw et le trap?

Consulte ce tutoriel en anglais.
Voir aussi les fichiers About.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
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

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 2 mois #3721 par Laurent Dardenne
Réponse de Laurent Dardenne sur le sujet Re:Gestion des erreurs
dav écrit:

J'ai pas tout compris au tutoriel.

Qu'est-ce tu n'as pas compris ?
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.

Plus d'informations
il y a 17 ans 2 mois #3747 par Arnaud Petitjean
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

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
Propulsé par Kunena