我正在学习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