たとえば、System.Net.FtpWebRequest
を作成して実行します。特定のWebExceptionをキャッチする(550)
catch (WebException ex) {}
を使用して、このリクエストによってスローされたウェブ関連の例外をキャッチすることができます。しかし、(550) file not found
のために例外がスローされたときに実行したいロジックがあればどうしますか?
これを行うにはどうすればよいですか?
const string fileNotFoundExceptionMessage =
"The remote server returned an error: (550) File unavailable (e.g., file not found, no access).";
if (ex.Message == fileNotFoundExceptionMessage) {
をしかし、このメッセージは、道を変えることができるように、理論的に思える:私は平等のための例外メッセージとテストをコピーすることができます。
または、例外メッセージに「550」が含まれているかどうかを確認するだけで済みます。この方法は、メッセージが変更された場合(おそらく、テキストのどこかに「550」が含まれている可能性が高い)、おそらくより効果的です。もちろん、他のWebException
のテキストに「550」が含まれていると、このようなテストは真になります。
例外の番にアクセスする方法はないようです。これは可能ですか?
'WebException'のみ** **あなたはProtocolErrorの' Status'を与えるキャッチ。目的のコード(404,400など)を取得するには、上記の応答のようにex.ResponseをHttpWebResponseにキャストする必要があります。 – ProKiner