새로운 예외를 만들고 던지기


답변:


194

FileNotFoundException과 같은 특정 예외를 호출하려면이 형식을 사용하십시오.

if (-not (Test-Path $file)) 
{
    throw [System.IO.FileNotFoundException] "$file not found."
}

일반적인 예외를 발생 시키려면 throw 명령 다음에 문자열을 사용하십시오.

throw "Error trying to do a task"

캐치 내에서 사용될 때 오류를 발생시킨 원인에 대한 추가 정보를 제공 할 수 있습니다.


C ++에서는 예외 계층 구조에 있지 않기 때문에 문자열을 던지는 것이 좋습니다. Powershell과 마찬가지로 작동하지만 가장 좋은 방법은 아닙니다.
Raúl Salinas-Monteagudo 19

3
스크립트에서 try..catches를 사용하고 특정 예외를 호출하는 여러 catch 문이있는 경우 물론 예외 유형을 지정하려고합니다. 왜 C ++을 참조하는지 잘 모르겠습니다. Powershell 스크립팅에서 throw 문은 일반적으로 설명 메시지와 함께 스크립트를 종료하기위한 것입니다. 나는 논쟁을 불러 일으키고 싶지는 않지만 Powershell과 C ++은 매우 다른 동물입니다. 스크립팅은 함수형 프로그래밍과 더 밀접하게 관련되어 있으므로 C ++ 또는 C # 모범 사례를 Powershell에 적용해야합니다.
WiiBopp
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.