2011-06-19 36 views
2

これは私のコードです。 「ホスト名を解決できませんでした」を抑圧エラー「ホスト名が解決できませんでした」

このエラーメッセージを削除する方法はありますか?またはインターネットに接続されていないかどうかを確認します。

try 
{ 
ComputerInfo ComputerInfoComp = new ComputerInfo(); 
string Url = "http://illution.dk/" 
WebClient Http = new WebClient(); 
Http.DownloadStringAsync(new Uri(Url)); 
Http.DownloadStringCompleted += new   DownloadStringCompletedEventHandler(GetModelTypeResponse); 
ComputerInfoComp = null; 
} 
catch (System.Net.WebException e) 
{ 
// 
} 

答えて

2

GetModelTypeResponseハンドラーメソッドでe.Errorを確認してください。 e.ErrorWebExceptionの場合は、webException.Statusの値をチェックします。 "ホスト名を解決できませんでした"例外の場合、値はWebExceptionStatus.NameResolutionFailureになります

public void GetModelTypeResponse(object sender, DownloadStringCompletedEventArgs e) 
{ 
    var webException = e.Error as WebException; 
    if (webException != null && 
     webException.Status == WebExceptionStatus.NameResolutionFailure) 
    { 
     // log 
     return; // ignore 
    } 

    // proceed 
    .. 
} 
+0

ありがとう、それはトリックでした! – Fredefl

0

はい、その特定の例外をキャッチすることによって編集。 http://msdn.microsoft.com/en-us/library/ms173160(v=vs.80).aspx

+0

だからどちらを捕まえるべきですか? – Fredefl

+0

これは? "System.Net.WebException" ??? – Fredefl

+0

@Fredefl "Hostname could not be resolved"という例外メッセージが表示されたとき。また、例外の種類も表示されます。 –

0

try ... catchブロックにコードを挿入してください。詳細については、Google exceptionsをご覧ください。

+0

既に試してみました... – Fredefl

+0

@Fredefl:コードを投稿してください!できます。私はあなたのコードを見ることができないので、あなたが間違っていたことは分かりません。 –

関連する問題