我正在學習java,我試圖做一個非常簡單的應用程序,做貨幣轉換。您輸入一個匯率,一個方向(例如:從歐元到美元或相反)和金額。數字有效的非負數。java errorhandling:如何檢查numberformatexceptions
到目前爲止,我設法讓它的數目不能爲負;現在我需要拋出一個錯誤,如果它不是一個數字。 我有以下代碼:
public void setKoers(double koers)
throws NegativeValueException, NumberFormatException{
if (koers > 0) {
this.koers=koers;
} else {
throw new NegativeValueException("negative number");
}
}
和我的主要模樣
try {
cal.setKoers(Double.parseDouble(args[0]));
} catch(NegativeValueException e) {
System.out.println(e.getMessage());
} catch (NumberFormatException e) {
System.out.println(e.getMessage());
}
所以,我怎麼能檢查是否koers
是一個數字或沒有。 我知道我可以把嘗試和捕獲的錯誤在我的代碼,但我認爲這將違背的地方,以及如何處理錯誤的邏輯:在我的主要功能我應該抓住任何NumberFormatException
我在你問糊塗了。 Double.parseDouble(args [0])可以引發NumberFormatException。不知道爲什麼你的setKoers方法有一個throws子句。 – Corbin 2011-12-25 23:26:42