如何使用例外?

时间:2014-10-19 19:15:06

标签: java exception try-catch throw

在我的CS课程中,如果用户输入负数,我们必须编写一个抛出异常的程序;程序应提示用户只输入正数,然后让他们重新输入数字。但每次抛出异常,我的程序都会被暂停。

我做错了什么,或者如果抛出异常,是否无法继续程序?抛出异常时程序会自动挂起吗?

    try{
    do
    {
        N = kb.nextDouble();
        if(N<0)
        {
            throw new NegativeArraySizeException();
        }
        else
            j++;
    }
    while(j==0);
    fill.size(N);
}
catch(NegativeArraySizeException e)
{
    System.out.println("The number you entered must be positive. Please try again.");
}

2 个答案:

答案 0 :(得分:1)

do-while应该包装try-catch语句:

do {
    try {
        //try to read number
    } catch (YourCustomException e) {
        //print message to user
    }
} while (<condition>)

答案 1 :(得分:0)

解决: 谢谢Luiggi, 我想通了。

j=0;
do
{
    value=kb.nextDouble();
    try
    {
        if(value<0)
            throw new NegativeArraySizeException();
        else
            j++;
    }catch(NegativeArraySizeException e)
    {
        System.out.println("The number you entered must be positive. Please try again.");
    }
}while(j==0);
fill.add(value);