これは、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()
}
例外は$_
変数にあります。次のように$_
を探索できます:
try {
$w = New-Object net.WebClient
$d = $w.downloadString('http://foo')
}
catch [Net.WebException] {
$_ | fl * -Force
}
必要なすべての情報が得られると思います。
私のルール:表示されないデータがある場合は、-force
を使用してみてください。