PowerShell 2.0尝试捕捉如何访问exception

这是PowerShell 2.0中的try catch

 $urls = "http://www.google.com", "http://none.greenjump.nl", "http://www.nu.nl" $wc = New-Object System.Net.WebClient foreach($url in $urls) { try { $url $result=$wc.DownloadString($url) } catch [System.Net.WebException] { [void]$fails.Add("url webfailed $url") } } 

但我想要做的就像在C#

 catch( WebException ex) { Log(ex.ToString()); } 

这可能吗?

尝试这样的事情:

 try { $w = New-Object net.WebClient $d = $w.downloadString('http://foo') } catch [Net.WebException] { Write-Host $_.Exception.ToString() } 

exception在$_variables中。 你可以像这样探索$_

 try { $w = New-Object net.WebClient $d = $w.downloadString('http://foo') } catch [Net.WebException] { $_ | fl * -Force } 

我想这会给你所有你需要的信息。

我的规则: 如果有一些数据没有显示,请尝试使用-force