while循环与异常处理

用户名

这是我第一次使用异常处理,所以要谨慎。我有一个简单的Blob类,可以接受一个I​​D,该ID必须在30到50之间,否则会引发异常。

public class Blob {
int id;

public Blob() {

}

public Blob(int id) throws Exception {
    this.id = id;
    if (id < 30 || id > 50)
        throw new Exception ("id = " +id+ ", must be between 30 and 50 inclusive");
}
}

它应该提示用户输入一个ID,如果它不在30到50之间,则抛出异常,并且应该继续直到用户输入有效的输入然后简单地显示ID号。

public class BlobCreator {

public static void main(String[] args) {
    int id;
    Scanner scan = new Scanner(System.in);
    System.out.println("Enter ID number: ");
    id = scan.nextInt();

    do {
        try {
            Blob b = new Blob(id);
        }

        catch (Exception e) {
            System.out.println(e);
        }
        System.out.println("Enter a different ID: ");
        id = scan.nextInt();
    }
    while(true);
    }   
System.out.println("Blob ID: " +id);
}

我认为我使用的是正确的掷球接球,但我的循环动作不正确,因此我认为这应该是一个简单的解决方法,但我不能做到完全正确。还是像我这样使用while循环,对于这种情况有最好的方法,还是有更好的循环来进行掷和接球的方法?

感谢您提供的所有帮助

威廉·范昂塞姆

break;代码成功执行后,应放置

do {
    try {
        Blob b = new Blob(id);
        break;
    }
    catch (Exception e) {
      System.out.println(e);
    }
    System.out.println("Enter a different ID: ");
    id = scan.nextInt();
} while(true);

因此,每次循环到达其主体的末端时,都会脱离循环。blob成功创建后,您应该只休息一下虽然我不明白为什么你break还是这么做。while循环可以检查输入的输入是有效的,只是停止循环。

whiledo-while循环中进行了修改...使用true循环将永远运行,除非构造函数未抛出异常。这使代码更加通用(如果您修改Blob构造的条件,则不会必须修改while循环条件)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在while循环中处理异常

来自分类Dev

在while循环中处理异常

来自分类Dev

异常处理,捕获导致while循环停止的原因

来自分类Dev

如何修复while循环停止+未处理的异常错误

来自分类Dev

循环处理多个异常

来自分类Dev

循环处理异常

来自分类Dev

Java while循环异常

来自分类Dev

循环中的Python异常处理

来自分类Dev

Junit循环处理预期的异常

来自分类Dev

循环中的Python异常处理

来自分类Dev

执行 while 并尝试捕获陷入循环以进行用户输入验证/异常处理

来自分类Dev

异常后继续while循环

来自分类Dev

do while循环中的异常

来自分类Dev

while循环中的异常行为

来自分类Dev

如何创建“while”异常循环?

来自分类Dev

在异步循环中处理超时异常

来自分类Dev

如何忽略异常并继续处理foreach循环?

来自分类Dev

未处理的事件循环异常-OutOfMemoryError

来自分类Dev

C#异常处理,暂时停止循环

来自分类Dev

带无限while循环的printf的异常行为

来自分类Dev

while循环仍然没有异常

来自分类Dev

Java While循环中的VariableDeclaratorID异常

来自分类Dev

Python打破了while循环+异常

来自分类Dev

在 do-while 循环中捕获异常?

来自分类Dev

!= Null while 循环中的空引用异常

来自分类Dev

处理PHP大while循环的最佳方法

来自分类Dev

处理while循环并分组MYSQL PHP值

来自分类Dev

带while循环的基本多重处理

来自分类Dev

while循环内的错误处理