Comment puis-je créer et lancer une nouvelle exception dans PowerShell ?
Je veux faire différentes choses pour une erreur spécifique.
Comment puis-je créer et lancer une nouvelle exception dans PowerShell ?
Je veux faire différentes choses pour une erreur spécifique.
Pour appeler une exception spécifique telle que FileNotFoundException, utilisez le format suivant
if (-not (Test-Path $file))
{
throw [System.IO.FileNotFoundException] "$file not found."
}
Pour lancer une exception générale, utilisez la commande throw suivie d'une chaîne de caractères.
throw "Error trying to do a task"
Lorsqu'il est utilisé à l'intérieur d'un catch, vous pouvez fournir des informations supplémentaires sur ce qui a déclenché l'erreur.
Vous pouvez lancer vos propres erreurs personnalisées en étendant la classe Exception.
class CustomException : Exception {
[string] $additionalData
CustomException($Message, $additionalData) : base($Message) {
$this.additionalData = $additionalData
}
}
try {
throw [CustomException]::new('Error message', 'Extra data')
} catch [CustomException] {
# NOTE: To access your custom exception you must use $_.Exception
Write-Output $_.Exception.additionalData
# This will produce the error message: Didn't catch it the second time
throw [CustomException]::new("Didn't catch it the second time", 'Extra data')
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.