如何在Java中将异常转换为错误代码? 让我们来考虑一下这个类: public class Developer { public void createApp(DocumentClass requirementsDocuments){ // some reading, parsing, understanding, planning,....., developping // static methods called here and which might throw exceptions.. } } public class ErrorCode { private String code; private String message; // getters and setters.. }

如何在Java中将异常转换为错误代码? 让我们来考虑一下这个类: public class Developer { public void createApp(DocumentClass requirementsDocuments){ // some reading, parsing, understanding, planning,....., developping // static methods called here and which might throw exceptions.. } } public class ErrorCode { private String code; private String message; // getters and setters.. },java,exception,error-handling,Java,Exception,Error Handling,我需要修改这个类/方法,以便在方法体createApp中调用的某个静态方法引发异常时能够捕获异常 现在,我需要创建一个新方法createAppRorCode,该方法将返回错误代码,而不是抛出异常。换句话说,我需要将异常转换为错误代码: 让我们来考虑一下这个类: public class Developer { public void createApp(DocumentClass requirementsDocuments){ // some reading, pars

我需要修改这个类/方法,以便在方法体
createApp
中调用的某个静态方法引发异常时能够捕获异常

  • 现在,我需要创建一个新方法
    createAppRorCode
    ,该方法将返回错误代码,而不是抛出异常。换句话说,我需要将异常转换为错误代码:

  • 让我们来考虑一下这个类:

    public class Developer {
    
        public void createApp(DocumentClass requirementsDocuments){
            // some reading, parsing, understanding, planning,....., developping 
            // static methods called here and which might throw exceptions..
        }
    }
    
    public class ErrorCode {
    
      private String code;
      private String message;
      // getters and setters..
    
    }
    
    现在,添加到开发人员类中的这个新方法的主体看起来如何:

    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       
        }
    }
    

    最后,我们怎么考虑没有例外的情况?

    < P>,好吧,我来试试看。您请求设计帮助,但在不了解您的需求的情况下很难实现

  • createApp()方法在签名中没有throws子句,因此您要么必须捕获该方法中的每个已检查异常,要么允许未检查异常冒泡出来。哪一个更接近你的要求
  • 如果执行createApp()时出现问题,用户应该期望发生什么?感觉很基本。应用程序是否应该关闭并显示一条优美的消息?如果失败了,有没有前进的道路
  • 一个可以忽略的错误代码提供了什么,而一个已检查的、自定义的异常却没有?异常是对C返回代码的响应,可以忽略它。感觉就像你在后退一步。我更喜欢带有有意义消息的自定义异常
  • 既然您已经说过它是一个web服务,我将提供另外两种想法:

  • 您应该从一个接口开始。多些担心,少些担心 关于如何向客户公开它。这很容易测试 这样,因为这是一个POJO
  • 忘记它是一个web服务的事实吧。正确获取基于POJO接口的行为,然后将其公开给客户端。您可以从SOAP到REST再到EJB或其他任何类似的方式

  • 作业有什么问题吗?你试过什么?不是家庭作业。我在寻求帮助。SO中是否不允许错误处理设计?谢谢。使用try/catch捕获异常。根据您获得的内容和获得的位置,设置错误代码并返回它。如果没有异常或其他错误返回零或任何“ErrorCode”值,则表示“无错误”。(有那么难吗?)你好,先生。谢谢你的尝试。事实上,如果需要抛出异常,
    createApp
    签名可以更改,但是,
    createapprorcode
    签名不应该更改,也不应该抛出任何异常。我需要通过Web服务在设备之间进行通信,因此我需要发送错误代码实例,而不是冒泡异常。。。此外,这是一种限制,而不是一种选择。ErrorCode,不能忽略,因为如果没有发生异常,
    code
    应设置为0,而
    message
    应设置为“OK”。如果某个方法失败,则应用程序不应关闭。因此,让封装该类并将其作为web服务公开的应用程序捕获这些异常,并将发生的情况整理到响应XML(如果是SOAP)或HTTP(如果是REST)中