2008-10-14 5 views

답변

8

예외를 처리하려는 코드 앞에 Trap [exception-type] {} 블록을 사용합니다.

+0

+0 실제 답변은 PowerShell v2 이상에서 try/catch입니다. 질문에 대한 주석에 언급되어 있습니다. I + 1d t @ Mark Ingram을 대신이 dup을 많이 추가하는 dup로 생각하십시오. (네,이게 오래전 일이라는 것을 알고 있습니다. 그러나 처음 질문에 대한 코멘트를 놓쳤습니다. 그리고 가장 높은 투표였습니다.) –

7

내 TechNet의 잡지 칼럼에서 이것에 대해 서면으로 작성했습니다.

먼저 PowerShell v2에는 표준 Try ... Catch가 포함되어 있습니다.

기존 쉘 (v1)은 trap {} 구문을 지원합니다. 이러한 예외는 예외 발생 이전에 정의되어야합니다. 또한 대부분의 cmdlet에는 트래핑 가능한 예외를 생성하기 위해 -EA "STOP"매개 변수가 필요합니다. 트랩은 모든 범위에서 정의 할 수 있으며 트랩되거나 전역 (셸) 범위에 도달 할 때까지 "버블"됩니다.

트랩 끝에서 계속을 실행하여 트랩과 동일한 범위에있는 코드의 다음 줄로 돌아가거나 현재 범위를 벗어나 예외를 던지기 위해 중단을 실행합니다.

+1

+1 -ErrorAction "STOP" – mbx