.Net과 같은 방식으로 예외 처리를해야합니까? 그런 다음Powershell의 catch 블록에서 예외를 다시 throw 할 수 있습니까?
, 내가 할 수있는 방법 PowerShell에서 catch 블록에서 예외를 다시 던져?
'던지기'가 enoungh 또는 '던져 $ _'더 좋을까요? PowerShell을에서
.Net과 같은 방식으로 예외 처리를해야합니까? 그런 다음Powershell의 catch 블록에서 예외를 다시 throw 할 수 있습니까?
, 내가 할 수있는 방법 PowerShell에서 catch 블록에서 예외를 다시 던져?
'던지기'가 enoungh 또는 '던져 $ _'더 좋을까요? PowerShell을에서
throw
키워드는 다르게 .NET 구현을 작동 : .NET에서 당신은, 당신은 아무것도를 던질 수 System.Exceptions
자체 또는 그 후속하지만, PowerShell의를 던질 수하고 자동으로 System.Management.Automation.RuntimeException
에 싸서된다. 스 니펫 here을 참조하십시오. 당신이 다시 던져 원의 예외를 좋아하는 경우에
당신은 (가장 일반적인) throw
, 또는 throw $_
, 또는 throw $_.Exception
PS를 사용할 수 있습니다 : 내부 catch
변수 $_
은 그 자체로 예외가 아니라 예외를 포함 System.Management.Automation.ErrorRecord
참고 : C#에서의'throw' 형태는 원의 예외의 컨텍스트 (소스 위치)를 유지하지만 불행하게도이 PowerShell의 경우가 표시되지 않습니다. – brianary