在測試最終用戶插入的參數時使用異常或流量控制更好嗎? 僞代碼:異常與流量控制處理方法參數
class A{
List listOfPeople;
public void insertName(String name)
{
//if the name is not inserted in the registry it throws a runtime exception
throw new IllegalArgumentException("Please insert a registered name");
}
}
或者也許是更好地執行以下操作:
class A{
List listOfPeople;
public void insertName(String name)
{
if (!listOfPeople.contains(name){
System.out.println("name not in the list, please insert a registered name");
reInsertName();
}
else
..do stuff..
}
}
我已閱讀,拋出異常是非常昂貴的..這是否意味着,只要有可能不把他們我們要避免讓他們試圖流動控制問題?
謝謝,的確ITIS
是否會覆蓋使用異常增加凝聚力由單一的責任的開支? –
這取決於項目的規模,如果它是一個大而複雜的項目,而且還需要考慮更新,則可以輕鬆地進行更新和添加新功能。在小項目中,您可能不會應用該項目。 – nik
我打算使用狀態測試方法,以便分離責任並且不使用昂貴的例外。正如J.B.的Effective Java所述。 –