스크립트에서 command-let 또는 다른 실행 문이 오류가 발생하면 이러한 오류를 복구하기위한 try/catch 유형의 메커니즘이 있습니까? 나는 그 문서에서 하나도 만나지 않았다.Windows Powershell에는 Try/Catch 또는 다른 오류 처리 메커니즘이 있습니까?
답변
예외를 처리하려는 코드 앞에 Trap [exception-type] {}
블록을 사용합니다.
+0 실제 답변은 PowerShell v2 이상에서 try/catch입니다. 질문에 대한 주석에 언급되어 있습니다. I + 1d t @ Mark Ingram을 대신이 dup을 많이 추가하는 dup로 생각하십시오. (네,이게 오래전 일이라는 것을 알고 있습니다. 그러나 처음 질문에 대한 코멘트를 놓쳤습니다. 그리고 가장 높은 투표였습니다.) –
여기에는 powershell을 사용하여 try/catch/finally를 구현 한 사람 (Adam Weigert)이 있습니다. 내장 된 함정 대신에 사용합니다. 더 자연 스럽네요. (당신이 관심이 있다면, technetmagazine.com)
http://weblogs.asp.net/adweigert/archive/2007/10/10/powershell-try-catch-finally-comes-to-life.aspx
내 TechNet의 잡지 칼럼에서 이것에 대해 서면으로 작성했습니다.
먼저 PowerShell v2에는 표준 Try ... Catch가 포함되어 있습니다.
기존 쉘 (v1)은 trap {} 구문을 지원합니다. 이러한 예외는 예외 발생 이전에 정의되어야합니다. 또한 대부분의 cmdlet에는 트래핑 가능한 예외를 생성하기 위해 -EA "STOP"매개 변수가 필요합니다. 트랩은 모든 범위에서 정의 할 수 있으며 트랩되거나 전역 (셸) 범위에 도달 할 때까지 "버블"됩니다.
트랩 끝에서 계속을 실행하여 트랩과 동일한 범위에있는 코드의 다음 줄로 돌아가거나 현재 범위를 벗어나 예외를 던지기 위해 중단을 실행합니다.
+1 -ErrorAction "STOP" – mbx
- 1. powershell에는 연관 배열이 있습니까?
- 2. powershell에는 popen과 동일한 기능이 있습니까?
- 3. Windows 서비스의 오류 처리
- 4. trycatch 함수의 문제점
- 5. 모델 또는 컨트롤러에서 오류 처리?
- 6. node.js의 이벤트를 시간 초과시키는 일반적인 메커니즘이 있습니까?
- 7. MFC/C++에 데이터베이스 트랜잭션 메커니즘이 있습니까?
- 8. 오류 처리 유연성
- 9. Windows 서비스 또는 다른 대안
- 10. FTP 오류 처리
- 11. Windows CLR 기반 플랫폼에서 LDMA 또는 RDMA를 사용할 수있는 메커니즘이 있습니까?
- 12. 예외 처리 메커니즘이 .net에서 실제로 작동하는 방식은 무엇입니까?
- 13. popen에 대한 오류 처리
- 14. C fwrite 오류 처리
- 15. VBScript - 오류 처리 사용
- 16. 쉘 스크립트에 뮤텍스/세마포어 메커니즘이 있습니까?
- 17. 처리 오류
- 18. MDB에서 연결 오류 처리
- 19. Qt 및 오류 처리 전략
- 20. Windows/Ruby 백그라운드 처리
- 21. WCF 오류 처리
- 22. TeamCity 4.5에서 nant 스크립트의 trycatch 요소를 인식하지 못합니다.
- 23. mysql 제약 오류 처리
- 24. 오류 표시 및 처리
- 25. 왜 C++ 상속 메커니즘이 불투명합니까?
- 26. 수학 함수의 오류 처리
- 27. 활성 리소스 오류 처리
- 28. Ruby 1.9.2에서 오류 처리
- 29. C++ 예외 처리 오류
- 30. Qt/C++ 오류 처리
향후 독자주의 사항 : PowerShell v2가 출시되었으며 Try/Catch/Finally를 지원합니다. – JasonMArcher