を作成して実行するとしましょうSystem.Net.FtpWebRequest
。
catch (WebException ex) {}
このリクエストによってスローされた Web 関連の例外をキャッチするために使用できます。しかし、例外がスローされたときにのみ実行したいロジックがある場合はどうすればよい(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」が含まれている場合にも true を返します。
例外の番号だけにアクセスする方法はないようです。これは可能ですか?