How can I rethrow an exception from catch block in PowerShell?

PowershellException

Powershell Problem Overview


Should I approach the exception handling in the same manner as .NET?

Then, how can I re-throw an exception from catch block in PowerShell?

Is throw is enough? Or would throw $_ be better?

Powershell Solutions


Solution 1 - Powershell

If you would like to re-throw original exception you could use throw (most common), or throw $_, or throw $_.Exception

ps: inside catch variable $_ is not exception by itself, but System.Management.Automation.ErrorRecord that contains Exception


Note

The throw keyword at PowerShell behaves differently then .NET implementation: in .NET you can only throw System.Exceptions itself or its successors, but in PowerShell, you can throw anything and that is automatically wrapped up into a System.Management.Automation.RuntimeException. See snippet here.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionpencilCakeView Question on Stackoverflow
Solution 1 - PowershellAkimView Answer on Stackoverflow