【发布时间】:2013-11-20 22:38:11
【问题描述】:
我的方法中有以下代码:
// make the FTP request
var request = (FtpWebRequest)WebRequest.Create(serverUri);
request.KeepAlive = true;
request.Method = WebRequestMethods.Ftp.MakeDirectory;
return (FtpWebResponse)request.GetResponse();
serverUri 是有效的,如果该目录在服务器上不存在,则此方法有效。但是,如果该目录已存在,则会出现 System.Net.WebException : The remote server returned an error: (550) File unavailable (e.g., file not found, no access)。
为什么当我调用request.GetResponse() 而不是将FtpWebResponse 对象的StatusCode 设置为FtpStatusCode.ActionNotTakenFileUnavailable 即550 时会出现此异常?
我找到了有关如何处理异常并从中获取状态代码和描述的信息。但是我想知道为什么首先抛出异常,而不是设置响应对象的状态代码并让编码器决定它是否需要异常。
【问题讨论】:
标签: c# ftp system.net.webexception