.NET と同じ方法で例外処理にアプローチする必要がありますか?
では、PowerShell の catch ブロックから例外を再スローするにはどうすればよいでしょうか。
throw十分ですか?それともthrow $_もっと良いでしょうか?
.NET と同じ方法で例外処理にアプローチする必要がありますか?
では、PowerShell の catch ブロックから例外を再スローするにはどうすればよいでしょうか。
throw十分ですか?それともthrow $_もっと良いでしょうか?
元の例外を再スローしたい場合は、 throw(最も一般的)、またはthrow $_、またはthrow $_.Exception
ps: 内部catch変数$_自体は例外ではありませんが、System.Management.Automation.ErrorRecord例外が含まれています
PowerShellのthrowキーワードは、.NET 実装とは異なる動作をしますSystem.Exceptions。.NET では、それ自体またはその後継のみをスローできますが、PowerShell では何でもスローでき、それは自動的に .NET にラップされますSystem.Management.Automation.RuntimeException。ここのスニペットを参照してください。