在Java中抛出异常
问题描述:
我正在使用Java的抵押计算器。我必须使用try和catch块来验证数据。我完成了程序的其余部分,但我无法弄清楚如何实现try和catch块。以下是提示所要求的内容:在Java中抛出异常
“编写自己的例外以使用try和catch块验证数据,例如贷款金额不能是负数,它应该在$ 5000和$ 1,000,000之间。
编辑:这是最后工作的try-catch块。它需要放置在其余数据所在的actionPerformed方法中。我还遇到了另一个问题,即代码一直在抛出任何我输入的数量的异常,直到我发现我需要将for循环放入try块。
try
{
if((n1 < 5000) || (n1 > 1000000))
throw new Exception();
for (int i = 0; i < term[0] * 12; i++)
{
double interest_paid = n1 * (rate[0]/12);
double principal_paid = tr1 - interest_paid;
n1 = n1 - principal_paid;
//Prints the results.
edit.append("\n " + (i+1) + " \t\t " + (two.format(interest_paid))
+ " \t\t " + (two.format(principal_paid)) + " \t\t "
+ (two.format(Math.abs(n1))));
}
}
catch (Exception e)
{
edit.setText("Please enter an amount between $5,000 and $1,000,000.");
mortText.setText("");
out.setText("");
}
答
下面是最后工作的try-catch块。它需要放置在其余数据所在的actionPerformed方法中。我还遇到了另一个问题,即代码一直在抛出任何我输入的数量的异常,直到我发现我需要将for循环放入try块。
try
{
if((n1 < 5000) || (n1 > 1000000))
throw new Exception();
for (int i = 0; i < term[0] * 12; i++)
{
double interest_paid = n1 * (rate[0]/12);
double principal_paid = tr1 - interest_paid;
n1 = n1 - principal_paid;
//Prints the results.
edit.append("\n " + (i+1) + " \t\t " + (two.format(interest_paid))
+ " \t\t " + (two.format(principal_paid)) + " \t\t "
+ (two.format(Math.abs(n1))));
}
}
catch (Exception e)
{
edit.setText("Please enter an amount between $5,000 and $1,000,000.");
mortText.setText("");
out.setText("");
}
点击“编辑”链接?无论如何,即使使用正确的缩进也很难阅读。目前还不清楚问题是什么 - 验证并且如果存在验证错误,则抛出异常。放在任何你将验证调用到一个'try'块中,捕获异常并适当地执行。具体问题是什么? –
你还没有尝试过任何东西。让我们看看你的努力到目前为止 –
@Moose总的来说,我们试图保持这样的问题,问题 - 不是无关的评论:)幽灵工人的评论是针对那里没有任何任何try/catch声明。换句话说,*尝试*某事。 “如何做到这一点”我在我的第一个评论中解释了很多 - 因此询问*特定问题是什么。 –