請問關於 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;
}
}
}