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

尝试/捕获语句重试的最佳实践[重复]

昌山
2023-03-14

鉴于:

public void connect() {
    try {
        connect_to_server();
    } catch (ServerUnavailableException ex){
        System.out.print("server unavailable");
    }
}

我想尝试,并重试,连接到服务器3次才放弃。

我可以把整个try/catch放在一个for循环中,但是这是否符合Java的“最佳实践”。从我对该主题的回忆来看,这将是对try/catch语句的误用。再说一次,我可能完全错了。你怎么认为?

共有1个答案

殷烨
2023-03-14

如果您实现connect_to_server()在第三次失败后抛出异常会更好。

另外,方法名为connectToServer()在java中是惯例。

 类似资料:
  • 我不知道为什么try-catch语句不起作用: 这是代码,我只是想做InputMismatchException,以防有人输入无效的东西,如283479234729472983472984723或字符串等。 但是当我运行它时,我输入了这样的内容,它不让我用扫描仪再试一次,它只是跳到: 它没有给我进入另一个。

  • 问题内容: 在进行学校项目时,我编写了以下代码: 问题在于Netbeans告诉我这些行抛出一个,因此必须被捕获或声明。它还抱怨并且可能尚未初始化(尽管检查为空)。 似乎整个问题都在此停了下来,这似乎有些奇怪。 我的下意识解决方法是这样做: 但是,这深深地困扰着我,让我感到肮脏。 我来自C#背景,我只是在这里利用块,因此我不确定处理此问题的“正确”方法是什么。 解决这个问题的正确方法 是 什么? 问

  • 尝试执行简单的insert into语句,但出现外键关系错误。 我收到的错误是“无法添加或更新子行:外键约束失败('example_1010命令orders_ibfk1用户 ID) 引用用户用户 ID')” 我想我需要使用一个“in子句”来绕过约束,但我不认为我使用它是正确的。

  • 问题内容: 我经常遇到如下情况: 仍然需要尝试-最终在内部捕获块。 克服此问题的最佳实践是什么? 问题答案: 写一个类,其中包含捕获和记录此类异常的方法,然后根据需要使用。 您最终会看到如下内容: 您的客户端代码将类似于: 更新: 自Java 7开始,各种JDBC接口都得到了扩展,而以上代码回答了原始问题,如果您直接针对JDBC API编写代码,则现在可以对其进行结构化:

  • 我正在使用下面的Java(Spring 2.0)代码从Web服务读取响应: 但是,如果myUrl Web服务返回HttpStatus。错误的_请求(400),未将其分配给myResponse并引发错误,因此没有ResponseBy,我需要将请求包装在try-catch块中。这是正确的还是有办法解决这个问题?此外,这是否意味着myUrl Web服务永远不应该故意(通过编程)将myResponseOb

  • 我有一个java gui应用程序,应该处理异常。这是我的程序的总体思想:它应该接受整数类型的输入。输入对话框应该引起一个异常,该异常应该被捕获并打印消息“坏数字”。但是,我的问题是,如果用户输入一个空字符串和/或错误的格式号,我怎么能得到重复的JPanelInput。此外,如果用户选择CANCEL选项,则跳出JOptionPane。 更新: