【问题标题】:Generate custom status along with the error messages生成自定义状态以及错误消息
【发布时间】:2015-06-30 19:58:21
【问题描述】:

如何生成自定义状态和 errorDetails 消息。我正在研究网络服务。最初我是随机生成它们的。下面是代码。但是现在,我想从中删除随机功能。我的整个目标是使用错误消息设置异常(例如)并将其发送回客户端。

String[] status = { "SUCCESS", "ERROR", "LOCKED", "EXCEPTION" };
Random ran = new Random();
String gen = status[ran.nextInt(status.length)];
logger.debug("Status is" + status);
outData.setStatus(gen);

if (gen.equals("SUCCESS")) {
    outData.setErrorDetails("");
} else if (gen.equals("ERROR")) {
    outData.setErrorDetails("Usage of time code VAC is not allowed; balance is insufficient." + " error");
} else if (gen.equals("LOCKED")) {
    outData.setErrorDetails("Timesheet cannot be edited because it is locked for payroll close." + "locked");
} else if (gen.equals("EXCEPTION")) {
    outData.setErrorDetails("{ML}QR_INCORRECT_CONDITION_PARAMETER{/ML}Error in condition AWA Is Self Override Condition:java.lang.NullPointerException{ARGS}AWA Is Self Override Conditionjava.lang.NullPointerException{/ARGS" + "exception");
} 
returnList.add(outData);

【问题讨论】:

    标签: java status


    【解决方案1】:

    使用 HashMap。这将减少您的代码。

    使用类似 -

    Map<String, String> statusMsgMap = new HashMap<String, String>();
    statusMsgMap.put("SUCCESS", "Your Success Message");
    statusMsgMap.put("ERROR", "Your Error Message");
    statusMsgMap.put("LOCKED", "Your Locked Message");
    statusMsgMap.put("EXCEPTION", "Your Exception Message");
    
    outData.setErrorDetails(statusMsgMap.get(gen));
    

    【讨论】:

    • 谢谢。因此,在某种情况下,假设我的整个 java 类中有多个异常,我可以将每个异常设置为 statusMsgMap.put("EXCEPTION", "With each specific exception msg");假设它是 NullPointerException,我希望它作为 NPE,如果是 IO,那么应该作为 IO 发送。
    • 到目前为止,您正在检查 - gen.equals("EXCEPTION")。那么你怎么知道它是哪种异常呢?您不能在地图中为同一个键保留多个值。检查您是否为不同的异常获得不同的 gen 值,在这种情况下,您可以为每个不同的 gen 值保留单独的 msg
    • 在此之前,要求只是提供随机生成的消息。它基本上是一个存根。但现在,要求发生了变化。必须发回确切的异常/错误消息。我正在尝试使用布尔值作为全局变量在整个代码中进行错误检查,然后将自定义状态为 SUCCESS/ERROR/EXCEPTION/LOCKED 的消息与消息一起适当地发送,而不是使用通常的方法,例如 - - 抛出 NPE("消息");
    • 如果你能知道它到底是什么类型的异常,而不是将生成值作为“EXCEPTION”它是“IOEXCEPTION”或“NPEXCEPTION”,你也可以为它们添加键值对.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    相关资源
    最近更新 更多