gpt4 book ai didi

c# - 捕获特定的 WebException (550)

转载 作者:太空狗 更新时间:2023-10-29 19:59:17 25 4
gpt4 key购买 nike

假设我创建并执行了一个 System.Net.FtpWebRequest

我可以使用 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”,这样的测试也会返回 true。

似乎没有一种方法可以只访问异常的编号。这可能吗?

最佳答案

WebException 公开了一个 StatusCode您可以检查的属性。

如果你想要实际的 HTTP 响应代码,你可以这样做:

(int)((HttpWebResponse)ex.Response).StatusCode

关于c# - 捕获特定的 WebException (550),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/674726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com