Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何避免声纳';s";“保存堆栈跟踪”;违反_Java - Fatal编程技术网

Java 如何避免声纳';s";“保存堆栈跟踪”;违反

Java 如何避免声纳';s";“保存堆栈跟踪”;违反,java,Java,给出以下代码的主要冲突错误(“保留堆栈跟踪”)。以下方法用于引发异常。我应该采取什么措施来克服这种违规行为 public void exceptionHandler(String exception) throws PhDashException { String exceptionMsg = exception.replaceAll("-", "_"); ExceptionPhDash pHDashExceptionMapper = new ExceptionPhDash(

给出以下代码的主要冲突错误(“保留堆栈跟踪”)。以下方法用于引发异常。我应该采取什么措施来克服这种违规行为

public void exceptionHandler(String exception) throws PhDashException {

    String exceptionMsg = exception.replaceAll("-", "_");

    ExceptionPhDash pHDashExceptionMapper = new ExceptionPhDash();
    try {
        pHDashExceptionMapper = new ObjectMapper().readValue(exceptionMsg, ExceptionPhDash.class);
    } catch (JsonParseException e) {
        LOGGER.info(e.getMessage());
    } catch (JsonMappingException e) {
        LOGGER.info(e.getMessage());
    } catch (IOException e) {
        LOGGER.info(e.getMessage());
    }
    throw new PhDashException(pHDashExceptionMapper.getMessage());
}

您已经记录了每个异常;就保存信息而言,这应该足够了,如下所示

LOGGER.info("Unexpected Exception has occurred", e);     
或者,如果可以,您应该重新抛出
PhDashException
,因为就保存信息而言,您应该足够了

throw new PhDashException(pHDashExceptionMapper);

尝试将整个异常传递给记录器,而不是它的消息。@Niks Tyagi-但最佳做法是避免printStackTrace()?对吗?是,更新为LOGGER.info(异常),但PhDashException使用字符串参数。pHDashExceptionMapper是一个自定义的异常类<代码>公共类PhDashException扩展了异常{/***序列Id.*/private static final long serialVersionUID=-4859242009502871357L;公共PhDashException(String errorMsg){super(errorMsg);}}@AmilaIddamalgoda:所以,正确地记录它