天天看點

5.15 以測試取代異常

【1】原代碼

1 double getValueForPeriod(int periodNumber) 
 2 {
 3     try 
 4     {
 5         return m_values[periodNumber];
 6     }
 7     catch (ArrayIndexOutOfBoundsException e) 
 8     {
 9         return 0;
10     }
11 }      

【2】以測試取代異常

1 ouble getValueForPeriod(int periodNumber) 
2 {
3     if (periodNumber >= m_values.length)
4     {
5         return 0;
6     }
7 
8     return m_values[periodNumber];
9 }      

【3】總結

面對一個調用者可以預先檢查的條件,你抛出了一個異常。修改調用者,使它在調用函數之前先做檢查。

Good Good Study, Day Day Up.

順序 選擇 循環 總結