응용 프로그램 충돌을 본 적이 있습니까? 그렇다면,당신은 어떻게 실망하고 그것을 얻을 수 있고 당신이 프로그래머,당신은 아마 저주 개발자를 위한되지 않고 바로 오류 처리 메커니즘에! 그리고 그것이 바로이 작품이 전부입니다. 오류 처리하는 필수적인 부분의 응용 프로그램의 코드로 그것을 잡는 예기치 못한 오류를 보장하는 응용 프로그램이 종료됩니다., 대부분의 프로그래밍 언어,PowerShell 또한 지원하는 오류 처리 메커니즘이라는 시를 잡을,그러나 전에는,배우자에 대해 조금 오류 처리에 있습니다.
왜 오류 처리가 필요합니까?
여러분 중 대부분이 이미 알고 있을지도 모르는 아주 기본적인 질문입니다. 그래도 몇 가지 중요한 점을 되풀이하기 위해 잠시 만져 보겠습니다.
오류 처리는 다음과 같은 방법으로 도움이됩니다.
- 는 응용 프로그램이 충돌하는 것을 방지합니다.
- 는 사용자가 뭔가 잘못되어 지원팀에 문의해야한다는 것을 쉽게 알 수있게합니다.,
- 오류 및 가능한 원인에 대한 세부 정보를 제공합니다.
- 는 추가 분석 및 문제 해결에 도움이됩니다.
- 는 최종 사용자에게 전송 된 오류 메시지를 사용자 정의 할 수있는 옵션을 제공합니다.
- 는 코드를 유지하기가 쉽습니다.
- 오류 및 코드에 따라 오류 후에도 프로그램이 계속 작동 할 수 있습니다.리><리>좋은 프로그래밍 연습으로 간주.
이제 오류 처리의 이점을 만졌으므로 PowerShell 에서 어떻게 구현할 수 있는지 살펴 보겠습니다.,
Powershell 의 오류 처리
대체로 말하면 두 가지 유형의 오류가 있으며 종료 및 종료되지 않은 오류가 있습니다.
종료하고 아닌 종료하는 오류를
이름에서 알 수 있듯이,종료는 오류는 그들이 중요하게 고려해야 하며,프로그램을 종료는 동안 갑자기 아닌 종료하는 오류를 허용하는 프로그램을 실행하지만 줄 수 있는 잘못된 출력거나 때때로,심지어는 과감한 결과입니다. 지금 당신이 궁금해하는 경우,비 종료하는 오류를 잠재적으로 더 위험보다는 오류를 종료하지 않기 때문에 알고 어떤 측면에 수정할 수 있습.,
가능한 일부 종료하는 오류를 메모리 및 구문 오류는 동안의 많은 부분에서 오류가 프로그램 논리 및 예기치 못한 오류가 가을에는 종료되지 않는다.
변환 종료되지 않는 오류를 종료하는 오류를
프로그래머로서,당신은 알 수 있습 PowerShell 을 치료하는 종료되지 않는 오류를 종료하는 오류도록,프로그램을 정지하는 경우 발생하는 특정 오류가 있습니다. 기본적으로 종료되지 않는 오류는 try-catch 블록으로 처리 할 수 없으므로 PowerShell try-catch 블록을 사용하여 오류를 처리하는 데 도움이됩니다.,
비 종료 오류를 종료 오류로 변환하려면 ErrorAction 이라는 매개 변수를 사용하십시오. 모든 cmdlet 은이 매개 변수를 지원하며 오류가 발생할 때 어떤 조치를 취해야하는지 프로그램에 알리도록 설계되었습니다. ErrorAction 은 다음과 같은 옵션
- Stop:이 프로그램을 중지 및 취급으로 종료되는 오류가 있습니다.
- Continue:프로그램을 계속할 수 있으며 오류가 표시됩니다.
- SilentlyContinue:프로그램이 실행되고 오류가 표시되지 않습니다.
- 무시:오류를 무시하고 계속합니다.,
- 문의:오류를 표시하고 계속해야하는지 확인합니다.
- Suspend:Windows PowerShell 워크 플로에서 사용할 수 있습니다. 제한은 고급 기능을 일시 중지 할 수 없다는 것입니다.
에 대한 구문을 ErrorAction
$variable = Get:content \user.txt:ErrorAction Stop
이 명령을 사용 종료되지 않는 오류으로 종료되는 한,그래서 당신은 그것을 처리할 수 있습니다.
건물 try-catch 블록
일단 당신이 종료하는 오류 또는 변환 종료되지 않는 한하여 종료하는 오류가 발생하면,당신은 그것을 처리할 수 있을 사용하여 PowerShell try-하고 있습니다.,
는 일반적인 구문은 다음과 같습니다.
이 예제에서,데이터는 파일에 저장된 변수이고 오류가 있는 경우,코드 얻을 잡을 차단 및 메시지가 표시됩니다. 위의 예는 구문과 사용에 대한 아이디어를 제공하도록 설계된 기본 예입니다. 하지만 현실 세계에서는이 PowerShell try-catch 블록을 사용하여 오류에 대한 통찰력을 얻고 그에 따라 조치를 취할 것입니다.,
Powershell try-catch block 의 실제 응용 프로그램
catch block 내부의 오류 레코드에 액세스 할 수 있습니다. 사실 오류 메시지는 현재 변수$_에 저장됩니다. 오류 구문 분석,경고 표시 등과 같은이 오류 레코드로 무엇이든 할 수 있습니다. 현재 변수의 강력한 속성은 프로그램이 멈추게 한 예기치 않은 이벤트에 대해 더 많이 알 수있는 아이디어로 예외입니다. 또한 예외 자체에는 ItemName,GetType,Message 등과 같은 많은 속성이 있습니다.,,
예:
try{$variable = Get:content \user.txt:ErrorAction Stop}catch{write:output $_Exception.Message}
이제 기본 사항이 명확하므로 고급 부분으로 넘어 갑시다.
캐치 블록을 사용하여 특정 예외를 알거나 예상 할 수 있습니다. 예를 들어,당신이 원하는 특정 메시지를 표시할 경우 파일을 발견하지 않고 다른 메시지를 다른 예외에 대한 코드 모양은 다음과 같아야 합니다.
할 때 고려해야 할 몇 가지 포인트를 사용하여 try-catch
유지 마음에 다음과 같은 포인트를 사용하는 동안 PowerShell try-하고 있습니다.,
- try 블록의 종료 중괄호와 catch 명령 사이에 코드가 없어야합니다. 다시 말해서,단어는””로 해야 즉시 후 다음 줄에 닫의 중괄호 try 블록
- 이 PowerShell try-catch 블록은 가장 유용한 오류를 처리하는 예기에서 발생할 수 있습니다.
- catch 블록은 원점에 관계없이 try 블록 내부에 던져진 예외를 잡을 것입니다.
- PowerShell try-catch 명령은 여러 if 문에 대한 편리한 대안입니다.,
- try 블록은 임의의 수의 catch 블록 뒤에 올 수 있지만 그 사이에 다른 코드가없는 연속적이어야합니다.
Finally block
try-catch 와 함께 사용할 수있는 finally block 이라는 것이 있습니다. 이것은 선택 사항이며 항상 사용하지 않아도됩니다. 이 블록은 오류가 있었는지 여부에 관계없이 그 안에 언급 된 코드를 실행합니다. 이 블록은 마지막 캐치 블록의 닫는 중괄호 바로 다음에 와야합니다.,위의 예에서 파일이 발견되었는지 여부에 관계없이 파일에 액세스하려고 시도 할 때마다 로그 파일에 항목이 추가됩니다.
Try-catch:그것을 시도하고 막기 위해 충돌
오류 처리하는 모든 프로그램에서 중요한 부분이 없어지므로 응용 프로그램에서 충돌을 분석하는 데 도움이 가능한 원인 오류가 있습니다. PowerShell try-catch block 은 종료 오류를 캡처하는 강력한 방법이므로 충돌을 일으키지 않고 안전하게 처리 할 수 있습니다., 그것은 상세한 분석뿐만 아니라 문제의 이해에 도움이됩니다. 이러한 이유로,그것은 당신의 PowerShell 스크립트에-이 있어야합니다.
Leave a Reply