我必须用 C# 编写一个 FTP (AUTH TSL) 框架。我是编写框架的菜鸟。
例如,当我证明一个文件存在而它不存在时,我该怎么办?
- 为使用框架的程序员抛出异常?
- 打印 ExceptionMessage (Console.WriteLine()) 而不抛出异常?
在这种情况下什么是专业的?
我必须用 C# 编写一个 FTP (AUTH TSL) 框架。我是编写框架的菜鸟。
例如,当我证明一个文件存在而它不存在时,我该怎么办?
在这种情况下什么是专业的?
实际上是一个广泛的问题,但有一些线索可以让你上路:
Console.WriteLine()
或任何类似的东西。Framework.FileExists
,如果文件不存在,只需返回false
值。这就是布尔返回值的真正本质。那更语义化。ArgumentNullException
。要将“错误代码”作为返回值传回,通常使用枚举。您的上传方法可能会返回
public enum UploadResult
{
Success,
PasswordInvalid,
UserInvalid,
FileNotFound,
HostNotFound
}
然后,您的框架的用户可以像这样轻松地使用它:
if (Ftp.Upload(User, Pass, Host, File) != UploadResult.Success)
{
MessageBox.Show("Sorry, something went terribly wrong.");
}
或检查更具体的原因,然后重试。
编辑:正如我在对您的原始帖子的评论中所写的那样:如果确实发生了意外或用户输入明显无效,请抛出异常。
我会抛出一个异常,因为框架的用户很清楚发生了什么。但我会编写自己的异常类。
我不会使用返回码,因为这样用户必须知道它们并解释它们。可能会出现错误。