在設計你的類庫時,當你創建一個方法時,你什麼時候決定拋出一個異常,或者返回一個布爾值。什麼時候返回布爾,拋出一個異常和拋出哪個異常
例如。
public class MathHelper
{
public int Divide(int x, int y)
{
if(y == 0)
{
throw new DivideByZeroException("Cannot Divide by Zero");
}
return x/y;
}
}
這是一個簡單的例子,但是然後你開始創建更復雜的方法。
你更喜歡哪一種?
public void Parse(TextReader reader, string delimeter)
{
if(reader == null)
{
throw new ArgumentNullException("The reader cannot be null");
}
if(String.IsNullOrEmpty(delimeter))
{
throw new ArgumentNullException("The delimeter cannot be null");
}
}
public bool Parse(TextReader reader, string delimeter)
{
if(reader == null)
{
logger.Error("Parse failed with null reader");
return false;
}
if(String.IsNullOrEmpty(delimeter))
{
logger.Error("Parse failed with null delimeter");
return false;
}
}
我真的很喜歡這個答案,因爲如果你使用它只是供內部圖書館,拋出一個異常昂貴。 – 2010-06-04 08:43:00
指定的文檔鏈接已損壞。 – chammu 2015-05-10 12:44:31
@chammu我可以正常訪問它。 – KnorxThieus 2016-11-08 19:19:40