我的問題非常簡單。 我有一個叫Triangle的類。這個類有一個方法;拋出異常或返回值
public boolean isAnyAngleGreaterThan(double deg);
我的問題如下:
我應該拋出IllegalArgumentException如果「度」不在該範圍內0 <「度」 < 180或者我應該簡單地返回TRUE,如果度是< = 0如果deg> = 180,則爲FALSE?
或者哪一個是最優選的?
public boolean isAnyAngleGreaterThan(double deg) {
if (Double.compare(0, deg) >= 0) {
throw new IllegalArgumentException("Angle (deg) can't be negative.");
} else if (Double.compare(180, deg) <= 0) {
throw new IllegalArgumentException("Angle (deg) can't be greater or equal than 180.");
}
return Double.compare(aDeg, deg) > 0
|| Double.compare(bDeg, deg) > 0
|| Double.compare(cDeg, deg) > 0;
}
public boolean isAnyAngleGreaterThan(double deg) {
return Double.compare(aDeg, deg) > 0
|| Double.compare(bDeg, deg) > 0
|| Double.compare(cDeg, deg) > 0;
}
其中 'ADEG', 'bDeg' 和 'CDEG' 是一個角度,b和c中的三角形。
如果你想繼續你的流程,你可以返回布爾值,否則你需要停止你可以拋出 –
拋出和處理異常是相當繁忙的任務。通常,開發人員會拋出異常並由開發人員處理,並在更高級別上使用異常。所以如果沒有特別的需要拋出異常,那麼你不應該拋出異常,除非和直到它被問到,否則你不應該拋出異常。 –