假设我创建并执行了一个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 。
似乎没有一种方法可以仅访问异常的数量。这可能吗?