none
PowerShell에서 Error Message 처리 RRS feed

답변

  • 안녕하십니까? 김도남 님

    Microsoft TechNet Forum 사이트를 방문해 주셔서 감사합니다.

     

    문의 하신 “PowerShell에서 Error Message 처리에 대한 답변을 드리겠습니다.

     

    Step 1 : Error Status

     

    PowerShell에서 바로 전 Cmdlet의 명령어의 성공여부를 $? 변수를 통해서 확인할 수 있습니다.

     

     

     

    아래와 같이 성공 여부를 체크해서 임의로 에러 메시지를 출력할 수 있습니다.

     

    if(!$?)

    {

        Write-Host "Cmdlet 정상적으로 실행 되지 않았습니다."

    }

     

     

    Step 2 : Trap

     

    PowerShell에서 Trap 문을 이용해서 Unhandled Exception을 처리할 수 있습니다.

     

    trap {

            Write-Host "에러 발생"

        } 

         

    1/$null

     

    Trap continue문을 이용해서 Error 발생 후 계속 Script문을 실행할 수 있습니다.

     

    trap {

            Write-Host "에러 발생"

            continue;

        }   

       

    Get-Process efef -ErrorAction stop

     

    Write-Host "Task2"

     

     

    1/0과 같은 경우 내부적으로 Exception을 처리하기 때문에 Trap문이 호출이 되지 않습니다.

     

    trap {

            Write-Host "에러 발생"

            continue;

        }       

       

    1/0

     

    Write-Host "Task2"

     

     

    참고 자료

     

    about_Trap

    http://technet.microsoft.com/ko-kr/library/dd347548.aspx

     

    제가 문제에 대해 더 알아야 할 것이 있다면 응답 주시면 감사하겠습니다.

    제시해 드린 답변이 도움이 되었기를 바랍니다.

     

    • 답변으로 표시됨 김도남 2012년 1월 2일 월요일 오전 1:16
    2011년 12월 28일 수요일 오전 7:26
    중재자