什么是"异常控制"循环?

LTH*_*LTH 4 java loops exception

我正试图在我的学习指南上提出一个问题:

编写一个异常控制的循环,循环直到用户输入1到5之间的整数.

我无法破译这个问题的真正含义,因为我之前从未听过这个词,但这是我最好的猜测:

    Scanner input = new Scanner(System.in);
    int a = 0;

    while(a <= 0 || a > 5)
    {
        try {
            a = input.nextInt();

            if(a <= 0 || a > 5)
                throw new OutOfRangeException(); //my own Excpt. class
        } catch (OutOfRangeException e) {
            System.out.println(e.getMessage());
        }
    }
Run Code Online (Sandbox Code Playgroud)

你们觉得怎么样?我在这里错过了什么吗?

Arm*_*yan 7

我认为你的catch子句应该在循环之外

 Scanner input = new Scanner(System.in);
 int a = 0;
 try
 {
    while(true)
    {       
        a = input.nextInt();
        if(a <= 0 || a > 5)
            throw new OutOfRangeException(); //my own Excpt. class
    } 
 }
 catch (OutOfRangeException e) {
    System.out.println(e.getMessage());
 }
Run Code Online (Sandbox Code Playgroud)

我还没有真正听到这个词"异常控制回路",但我认为这意味着它是一个无限循环异常后离开.似乎合乎逻辑.

正如评论说,如果你直到用户输入1和5之间的数字需要循环,扔条件应该是

 if(a >= 1 && a <= 5)
Run Code Online (Sandbox Code Playgroud)