2012-09-18 200 views
2

如何迴應500內部服務器錯誤? 比方說,我有下面的代碼:迴應(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 

回答

1

您可以使用try/catch塊:

$webPage = $null 

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

if($webPage) 
{ 
    "Getting the webpage worked!" 
} 
1

PHP的聊天,你可能會覺得類似.. $網頁可能會返回false,如果主機已關閉。

你可以這樣進行操作你:

if($webpage) 
{ 
    perform operations 
} 
else 
{ 
    exceptional case 
}