请问关于 C# 防呆 写法要怎样比较妥当?
下面四种方法
Funciton 回传 bool , 最外层再来写错误讯息
或是 string 或 enum 或是自己些个 关于 Error class 代进去
或是 try catch (应该比较不推荐)
写法让我困扰满久的
感谢~
public enum Error
{
Pass, CantOpenFile,
}
class Program
{
static void Main(string[] args)
{
string filePath = @"C:\123.txt";
//case1
//用 if + bool 来判断是否成功 ,
if (File.checkFile(filePath))
{
Console.WriteLine("档案存在");
}
else
{
Console.WriteLine("档案不存在");
}
//case2
// 用 message 丢进去, 再判断是否成功 , 无回传 bool
string message = "";
File.checkFile(filePath, ref message);
Console.WriteLine(message);
//case3
Error error = Error.Pass;
File.checkFile(filePath, ref error);
Console.WriteLine(error.ToString());
//case4
try
{
//........
}
catch (Exception)
{
throw;
}
}
}
class File
{
public static bool checkFile(string filePath)
{
bool result = System.IO.File.Exists(filePath);
return result;
}
public static void checkFile(string filePath, ref string message)
{
if(System.IO.File.Exists(filePath))
{
message = "档案存在";
}
else
{
message = "档案不存在";
}
}
public static void checkFile(string filePath, ref Error error)
{
if (System.IO.File.Exists(filePath))
{
error = Error.Pass;
}
else
{
error = Error.CantOpenFile;
}
}
}