2

500 内部サーバー エラーにどのように対処すればよいですか? 以下のコードがあるとしましょう:

$webpage = $webclient.DownloadString("http://moocow/Addfoo.asmx/roflmao?inputFoofoo=$variable")

私の場合、いくつかの情報を返すページがあります。ただし、ときどきページがダウンし、500 内部サーバー エラーが返されます。その場合、スクリプトに別のアクションを実行するように指示するにはどうすればよいですか? 以下は私が得るエラーです:

Exception calling "DownloadString" with "1" argument(s): "The remote server returned an error: (500) Internal Server Error."
At \\ASERVER\AFOLDER\ASCRIPT.ps1:112 char:57
+                 $global:webpage = $webclient.DownloadString <<<< ("http://moocow/Addfoo.asmx/roflmao?inputFoofoo=$variable")
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : DotNetMethodException
4

2 に答える 2

1

ホストがダウンしている場合、$webpage はおそらく false を返します。

次のような操作を実行できます。

if($webpage)
{
   perform operations
}
else
{
   exceptional case
}
于 2012-09-18T19:28:07.013 に答える
1

try/catch ブロックを使用できます。

$webPage = $null

try
{
  $webPage = $webClient.DownloadString(...)
}
catch
{
  "Error getting webpage!"
}

if($webPage)
{
   "Getting the webpage worked!"
}
于 2012-09-18T21:29:16.740 に答える