Java 控制异常输出格式
我试图控制错误的显示方式 我正在尝试做类似的事情:但是在全局级别(针对每个抛出的异常)。我尝试了这个问题中描述的例子,但我不知道如何在全球范围内实施 而不是:Java 控制异常输出格式,java,json,spring-boot,exception,Java,Json,Spring Boot,Exception,我试图控制错误的显示方式 我正在尝试做类似的事情:但是在全局级别(针对每个抛出的异常)。我尝试了这个问题中描述的例子,但我不知道如何在全球范围内实施 而不是: Exception in thread "threadName" Name of Exception : Description ... ...... .. // Call Stack 例如,我希望错误显示: <Error> <ErrorCode>customErrorCode</ErrorCod
Exception in thread "threadName" Name of Exception : Description
... ...... .. // Call Stack
例如,我希望错误显示:
<Error>
<ErrorCode>customErrorCode</ErrorCode>
<ErorMsg>Description</ErorMsg>
<ErrorClass>className</ErrorClass>
<ErrorThread>threadName</ErrorThread>
</Error>
自定义错误代码
描述
类名
螺纹名称
编辑:我有多个使用异常处理的依赖项,我无法修改它们。您可以使用
Thread.setDefaultUncaughtExceptionHandler()设置DefaultExceptionHandler代码>
正如它的名字告诉你的,它会处理通过抛出的未捕获异常,而不是打印的堆栈跟踪
但是,如果您在代码中的某个地方使用了请尝试{}catch(异常e){e.printStackTrace();}
您不能做任何事情来改变它的显示方式您需要的是添加。在您的情况下,可能是这样的:
@ControllerAdvice
public class RestResponseEntityExceptionHandler
extends ResponseEntityExceptionHandler {
@ExceptionHandler(value = { Exception.class})
protected ResponseEntity<String> handleException(Exception e) {
String bodyOfResponse = "This should be application specific";
return new ResponseEntiy<String>(bodyOfResponse )
}
}
@ControllerAdvice
公共类ResponseEntityExceptionHandler
扩展ResponseEntityExceptionHandler{
@ExceptionHandler(值={Exception.class})
受保护的响应句柄异常(异常e){
String bodyOfResponse=“这应该是特定于应用程序的”;
返回新的响应时间(响应正文)
}
}
您是否有main
方法?如果是这样,您链接的问题仍然有效。只需使用try-catch子句将指令包装在main
中即可。我有多个会引发错误的依赖项。。。我希望捕获每个错误,并将输出更改为有趣的xmlHmm。。在代码中,我有如下调用:void functionName()抛出异常{…}