PoshCode ( http://poshcode.org/3226) 에서 Get-WebFile 스크립트를 살펴보면 다음과 같은 이상한 충돌을 발견했습니다.
$URL_Format_Error = [string]"..."
Write-Error $URL_Format_Error
return
다음과 반대되는 이유는 무엇입니까?
$URL_Format_Error = [string]"..."
Throw $URL_Format_Error
또는 더 나은 :
$URL_Format_Error = New-Object System.FormatException "..."
Throw $URL_Format_Error
내가 이해하는 것처럼 종료하지 않는 오류에는 Write-Error를 사용하고 오류는 종료하는 경우 Throw를 사용해야하므로 Write-Error 다음에 Return을 사용해서는 안됩니다. 차이가 있습니까?
return
않습니다 하지 에서 호출자에게 반환 process
(고급) 함수의 블록; 대신 파이프 라인 의 다음 입력 개체 로 진행됩니다 . 실제로 이것은 종료되지 않은 오류를 생성하는 일반적인 시나리오입니다. 추가 입력 개체를 계속 처리 할 수있는 경우.
Throw
생성 합니다 .이 오류는 예를 들어 또는 에 의해 트리거 된 명령문 종료 오류 와 다릅니다 . Get-Item -NoSuchParameter
1 / 0