Comment le paramètre ErrorAction fonctionne dans PowerShell
Si une erreur se produit dans PowerShell, l'erreur d'erreur de PowerShell entre en action. Par défaut, la PRESPREFENSION ERRORACT Continuer qui montre une erreur et continue l'exécution supplémentaire. Pour chaque commande, la valeur d'erreActionPreference est remplacée par l'option utilisée dans le paramètre ErrorAction. L'erreur peut être appliqué avec n'importe quelle commande / fonction de la manière suivante:
>Le fonctionnement de ErrorAction dépend principalement du. Les options suivantes sont prises en charge par le paramètre ErrorAction:
Comment utiliser ErrorAction dans PowerShell
Cette section montre l'utilisation du paramètre ErrorAction dans PowerShell:
Utilisation de continuer avec ErrorAction
Comme mentionné précédemment, le Continuer L'option est une valeur par défaut de la variable ErrorActionPreference et si elle est transmise avec le paramètre ErrorAction, il renverrait la même erreur. Nous avons implémenté les deux commandes suivantes:
De plus, les commandes ci-dessus sont jointes à une cmdlet d'écriture pour une meilleure compréhension de l'option Continuer car elle continue l'exécution après avoir lancé une erreur.
Les deux commandes renvoient la même sortie car la valeur par défaut de ErrorActionPreference est continue et donc l'option de poursuite du paramètre ErrorAction n'a aucun effet sur la variable ErrorActionPreference.
> cd d: \; Exécution en écriture "Suite!!"Utilisation de Enquête avec ErrorAction
Comme le nom de l'option le dirige, l'option Enquête vous demande quoi faire avec la commande. La commande écrite ci-dessous exécute l'option d'enquête avec le paramètre ErrorAction.
> CD D: \ -Erroraction Enquête; Exécution en écriture "Suite!!"Nous devons choisir l'action parmi les éléments suivants:
Appuyez sur Y pour oui: cette action vous procédera à l'exécution de la commande:
Appuyez sur A pour oui à tous: appuyez sur A pour avoir la même action que oui.
Appuyez sur H pour Halt Commande: En appuyant sur H, la commande ne sera pas exécutée après une erreur et n'effectue donc pas la partie écriture de la commande.
Appuyez sur S pour suspendre: la suspension de la commande n'entraînera aucune action.
Utilisation de l'option Ignore avec ErrorAction
L'option Ignore de l'erreur de contourne l'erreur et exécute l'autre partie de la commande (si elle est fournie). Par exemple, la commande fournie ci-dessous implémente le «Ignorer«Option avec Erreur Et la sortie montre que seule la pièce d'écriture-hôte est exécutée (car elle est sans erreur).
> CD D: \ -Erroraction ignore; Exécution en écriture "Suite!!"En utilisant silencieusement Continue avec ErrorAction
L'option silencieusement Continue saute l'erreur et la partie sans erreur de la commande est implémentée. Dans la commande ci-dessous, l'erreur d'écriture d'erreur d'écriture est utilisée pour générer une erreur et est exercée avec l'option SilelyContinue du paramètre ErrorAction.
Il est observé que l'option Ignore et silencieusement Continue génèrent la même sortie. Mais silencieusement Continue signale l'erreur à la variable d'erreur $ de PowerShell, alors qu'Ingnore n'ajoute pas cette erreur à $.
> Écriture-error "Erreur rencontrée" -Erraction silencieusementContinue; Exécution en écriture "Suite!!"Utilisation d'arrêt avec ErrorAction
L'option d'arrêt comme le nom l'indique empêche la commande d'exécution après avoir rencontré une erreur. La commande suivante montre l'implémentation de l'option d'arrêt avec ErrorAction.
> Écriture-error "Erreur rencontrée"-Erroraction STOP; Exécution en écriture "Suite!!"Conclusion
Le paramètre PowerShell ErrorAction permet de gérer les actions si une erreur se produit. Par défaut, PowerShell fonctionne sur le continuer Option de gestion des erreurs. Cependant, l'opérateur ErrorAction peut être utilisé pour modifier l'option par défaut. Cette rédaction explique brièvement l'utilisation de l'erreur avec plusieurs options prises en charge par ce paramètre. Chaque option a une procédure de fonctionnement différente et le paramètre ErrorAction remplace l'option par défaut (continuer) pour chaque commande.