gpt4 book ai didi

java - 如何在Java中将异常转换为错误代码?

转载 作者:行者123 更新时间:2023-12-03 09:10:29 24 4
gpt4 key购买 nike

让我们考虑这个类:

public class Developer {

public void createApp(DocumentClass requirementsDocuments){
// some reading, parsing, understanding, planning,....., developping
// static methods called here and which might throw exceptions..
}
}
  • 我需要修改这个类/方法,以便能够捕获异常,如果方法体中调用的静态方法之一抛出任何异常 createApp .
  • 现在,我需要创建一个新方法 createAppWithErrorCode这将返回错误代码而不是引发异常。换句话说,我需要将异常转换为错误代码:

  • 让我们考虑这个类:
    public class ErrorCode {

    private String code;
    private String message;
    // getters and setters..

    }

    现在,添加到 Developer 类的这个新方法的主体看起来如何:
    public class Developer {

    public void createApp(DocumentClass requirementsDocuments){
    // ....
    }
    public ErrorCode createAppWithErrorCode(DocumentClass requirementsDocuments){
    // createApp is called here, and if any exception is catched it will be converted into error code
    }
    }

    最后,我们如何考虑没有抛出异常的情况?

    最佳答案

    好的,我会尝试一下。您要求设计帮助,但在不了解您的要求的情况下很难做到。

  • createApp() 方法的签名中没有 throws 子句,因此您要么必须在该方法中捕获每个已检查的异常,要么允许未检查的异常冒泡。哪个更接近您的要求?
  • 如果执行 createApp() 时出现问题,用户应该期望发生什么?感觉很基础。应用程序是否应该以优雅的消息关闭?如果这失败了,还有前进的道路吗?
  • 可以忽略的错误代码提供了已检查的自定义异常没有什么?异常是对 C 返回代码的响应,可以忽略。感觉就像你在退后一步。我更喜欢带有有意义消息的自定义异常。

  • 既然你说它是一个网络服务,我将提供另外两个想法:
  • 你应该从一个界面开始。多担心,少担心
    关于如何将其公开给客户。它将很容易测试
    那样,因为它是一个 POJO。
  • 忘记它是一个网络服务的事实。正确获取基于 POJO 接口(interface)的行为,然后将其公开给客户端。您可以从 SOAP 更改为 REST 到 EJB 或其他任何方式。
  • 关于java - 如何在Java中将异常转换为错误代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21895425/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com