2012-12-11 2 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

관련 문제