2012-12-11 23 views

答えて

55

throwキーワードは、その後、異なる.NET実装を振る舞う:.NETであなただけのSystem.Exceptions自体やその後継者を投げることができますが、PowerShellでは、あなたは何を投げることができますし、それが自動的にSystem.Management.Automation.RuntimeExceptionに包まれています。スニペットhereを参照してください。あなたは再スロー元の例外に好きなら

あなたは(最も一般的)throw、またはthrow $_、またはthrow $_.Exception

PSを使用することができます。内部catch変数$_は、それ自体で例外ではありませんが、例外が含まれていますSystem.Management.Automation.ErrorRecord

+17

注:C#では、 'throw'フォームは元の例外のコンテキスト(ソースの場所)を保持しますが、残念ながらこれはPowerShellの場合とは異なります。 – brianary

関連する問題