假如有段邏輯, 只需要做個簡單的測試(判斷)即可完成功能, 但卻有例外狀況的處理.
假如有個函數, 需要從List<double> _studentScores
學生列表裡取得指定學生的分數:
class Course
{
private List<double> _studentScores;
private double GetScoreForOneStudent(int studentIndex)
{
try
{
return _studentScores[studentIndex];
}
catch(ArgumentOutOfRangeException)
{
return 0;
}
}
}
把例外狀況的處理, 改成條件測試:
class Course
{
private List<double> _studentScores;
private double GetScoreForOneStudent(int studentIndex)
{
if(studentIndex >= _studentScores.Count)
{
return 0;
}
return _studentScores[studentIndex];
}
}
想像今天要去遊樂園玩, 有個世界數一數二刺激的雲霄飛車, 於是你很高興地坐上去玩.
但不幸的是, 坐到中途而你的心臟病復發, 昏倒在飛車上.
這種例外狀況發生有被安全處理, 由遊樂園的員工帶你去醫療團隊就診.
回過頭想想, 是不是在搭乘雲霄飛車前, 閱讀搭乘限制就可以避免?