여러 로컬 컴퓨터에서 실행될 스크립트가 있지만 오류 처리가 수행되지 않았습니다. PowerShell에서 오류 처리를 전혀하지 않았으므로 여기서 완전히 멍청한 반응을 보입니다. 나는 그것에 대해 뭔가 읽었지만 솔직히 나는 빠르고 쉬운 대답을 찾고있다.Powershell : 스크립트에서 오류 처리
Q : 스크립트를 무거운 무게로 만들 수있는 가능한 한 적은 코드로 try/catch와 같은 것이 있습니까? 예, 시도
여러 로컬 컴퓨터에서 실행될 스크립트가 있지만 오류 처리가 수행되지 않았습니다. PowerShell에서 오류 처리를 전혀하지 않았으므로 여기서 완전히 멍청한 반응을 보입니다. 나는 그것에 대해 뭔가 읽었지만 솔직히 나는 빠르고 쉬운 대답을 찾고있다.Powershell : 스크립트에서 오류 처리
Q : 스크립트를 무거운 무게로 만들 수있는 가능한 한 적은 코드로 try/catch와 같은 것이 있습니까? 예, 시도
은/캐치 마침내 파워 쉘의 V2에서 사용할 수 있습니다/:
Try{
<main code here>
}
Catch{
write-host $_ #Using the reserved $_ variable which should contain the error string
}
Finally{
<clean up code here - will execute regardless>
}
당신은 당신이 트랩 구조를 사용해야합니다 v1에서는 PowerShell을 사용하도록 제한하는 경우.
Powershell 2.0은 시도하고 잡았습니다. http://technet.microsoft.com/en-us/library/dd315350.aspx을 참조하십시오. 다음과 같이 오류 트래핑과 함께 오류 처리의 명령 줄 지향 변형을 추가로 수행 할 수도 있습니다. http://www.informit.com/articles/article.aspx?p=729515&seqNum=5
PowerShell v2를 사용하고 있습니다. 이 코드로 수행 한 작업은 모든 스크립트를 Try {}에 붙여 넣은 것이고 catch가 지정되지 않은 상태로 남겨 두어 모든 예외를 catch하도록했습니다. (생각한대로) try {}에 새 행을 썼을 때 " sdgsf " catch {}에 지정된 오류 메시지가 표시되지만 다음과 같은 작업을 수행 할 때 "$ username = gc env : usernamejghc "(명령 끝에 jiberish를 썼습니다) 오류가 발생합니다. Get- 내용 : 존재하지 않기 때문에 'Env : \ usernamejghc'경로를 찾을 수 없습니다. 나는 그 주제에 관해 더 많은 것을 읽으려고한다 :이 오류를 처리 할 제안이 있는가? – haakonlu
당신은 $ env : usernamejghc을 의미합니다. 메시지는 정확히 어떻게되는지를 알려줍니다. –
그렇습니다. 그러나 catch 블록이 "catch"하지 않는 이유는 무엇입니까? 이 오류가 그것을 벗어날 경우, 나는 다른 사람도 할 수 있다고 생각하니? – haakonlu