2 votes

PowerShell : traitement étrange des exceptions

J'apprends PowerShell ces jours-ci et je suis tombé sur un comportement étrange. Après avoir exécuté le code suivant, dont le seul but est de comprendre la gestion des exceptions :

try

{

throw [System.IO.FileNotFoundException]::new("Thrown a file not found exception")

}

catch [System.Management.Automation.RuntimeException]

{

    Write-Output "Entered catch"

}

J'obtiens que "Entered catch" s'affiche à l'écran. Pourquoi cela se produit-il si, selon la documentation en ligne, System.IO.FileNotFoundException n'a pas System.Management.Automation.RuntimeException dans sa ligne d'héritage ? En d'autres termes, je m'attendais à ce que l'exception ne soit pas capturée et que le message d'erreur correspondant soit affiché à l'écran.

Prograide.com

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.

Powered by:

X