WebException
2 つの異なる を適切に処理しようとしています。
基本的には呼び出してから処理するWebClient.DownloadFile(string address, string fileName)
私の知る限り、これまでのところ、処理する必要があるのは2つあり、両方ともWebException
:
- リモート名を解決できませんでした (つまり、サーバーにアクセスしてファイルをダウンロードするためのネットワーク接続がありません)
- (404) File not nound (つまり、ファイルがサーバー上に存在しません)
他にもあるかもしれませんが、これが今までで最も重要だと思ったものです。
では、どちらも であるため、これを適切に処理するにはどうすればよいですか?WebException
上記の各ケースを異なる方法で処理したいと考えています。
これは私がこれまでに持っているものです:
try
{
using (var client = new WebClient())
{
client.DownloadFile("...");
}
}
catch(InvalidOperationException ioEx)
{
if (ioEx is WebException)
{
if (ioEx.Message.Contains("404")
{
//handle 404
}
if (ioEx.Message.Contains("remote name could not")
{
//handle file doesn't exist
}
}
}
ご覧のとおり、メッセージをチェックして、メッセージの種類を確認していますWebException
。これを行うためのより良い、またはより正確な方法があると思いますか?