当前位置: 首页 > 知识库问答 >
问题:

使用[关闭]哪种方式更好

哈朗
2023-03-14

我是个初学者只是想找个更好的方法来解决问题

问题是,最佳实践是捕捉异常还是避免异常

System.out.println("Enter " + i + " number");

while (!scanner.hasNextInt()) {
        scanner.nextLine();
        System.out.println("Unable to read any data types different from integer\n" +
                "Please enter whole number");
    }
    int number = scanner.nextInt();
    scanner.nextLine();

 try {
        System.out.print("Enter " + i + " number: ");
        int number = scanner.nextInt();
    } catch (InputMismatchException e) {
        System.out.println("Error, please enter int type number.");
        inputData();
    }

共有2个答案

姚善
2023-03-14

第二个更好,这对我来说是个很好的练习;)

夏奕
2023-03-14

从技术上讲,你并不是在“避免”错误。

在示例#1中,您只是在条件保持为真的情况下执行代码。当该条件不再为真时,您就不再执行该代码。请注意,在循环中执行的代码在过程中仍可能抛出一个错误。

在示例#2中,您试图运行可能会抛出错误的代码,如果出现错误,您将优雅地处理出错的代码。

这不是一个你是否应该使用而不是try catch语句的问题,这是一个你试图实现的问题。

在您的情况下,选项#1可能更干净,因为您的命令行应用程序的这一部分希望输入一个数字,并且在有数字之前不会移动。

在许多情况下,test-get仍然非常有用。例如,如果我试图将数据保存到数据库中,我会将其放在test-get中,并处理保存中可能出现的任何错误。我不会将其放在语句中继续尝试,因为可能有一个错误,我需要让用户知道,或者我可能最终导致无限循环。

每个人都有不同的情况,这不是一个最好的问题,而是取决于你正在努力做什么,你会从经验中学到更多。如果你有更多的问题,请问,但希望这能有所帮助。

 类似资料:
  • 问题内容: 已关闭 。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗? 更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 改善这个问题 我看到我可以使用以下任一方法在 Python中* 进行 绘图 : * 要么: 两者都使用相同的 matplotlib 绘图代码。 那么,Matplotlib开发人员/文档当前建议使用哪种方法作为更好的绘图方法?为什么? 问题答案: 官

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 如果很短,我将其放在一行中。最近,我一直在将这种样式用于较长或嵌套的三元运算符表达式。一个人为的例子: 您个人使用哪种样式,或者最易读? 编辑:( 关于何时使用

  • 想改进这个问题吗?更新问题,以便通过编辑这篇文章用事实和引用来回答。 我在玩Java*流API,在Lagecy系统中有以下代码: 我编写了与上述代码等价的流,如下所示: 无论哪种方式,我都得到了想要的结果。我的问题是,在这种情况下,哪种性能方面是更好的写作方式?如果我选择其中任何一个而不是另一个,我实际上是否获得了任何价值?地图中包含大约 1000 个值。

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 要在Linux平台上编写用于流程自动化的脚本,哪种脚本语言会更好?Shell脚本,Perl或Python还是其他?我是所有人的新手。所以,我只是在考虑去哪一个?

  • 问题内容: 按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 9年前关闭。 可能重复: 静态类和单例模式之间的区别? 在Java中哪个更好, 实现公共静态方法,例如 或实施Singleton模式,例如 (两个都将返回一个Request

  • 对于大型项目,ui-router是首选。但它给出的主要优点是嵌套视图。但这也可以通过ng-view实现。那么该选哪一个呢?