說我有一個存在於庫/框架中的方法,我想知道這些方法是否應該拋出異常或默默失敗;例如:框架代碼:靜默失敗或拋出異常
void PerformAction(Item item)
{
// throws NullReferenceException if item is null
item.DoThis();
}
void PerformAction(Item item)
{
//fails silently
if(item != null)
{
item.DoThis();
}
}
哪種解決方案更好 - 或者這是一個主觀問題?
這將是非常主觀的,但我相信大多數的聲音會說你應該大多是'扔'。至少用於調試目的。如果框架有一個日誌記錄機制,如果你不願意拋出,你應該記錄失敗的任務。 –