{"code":8888,"msg":"程序运行中出现了Throwable类型的异常","data":null}
时间: 2023-08-22 16:05:40 浏览: 121
根据引用和引用的内容,如果在代码中出现了除以零的情况且没有使用try-catch进行捕获,客户端将会收到一个内部服务器错误的异常信息。同时,根据引用的内容,如果模拟一个空指针异常并且进行了全局异常处理,接口返回值将会统一格式化为以下形式:
{
"code": 10000,
"msg": "系统异常请稍后...",
"data": null
}
然而,根据提供的问题,我们需要返回如下格式的接口返回值:
{
"code": 8888,
"msg": "程序运行中出现了Throwable类型的异常",
"data": null
}
因此,在全局异常处理器中,我们需要对Throwable类型的异常进行处理。通过引用,我们可以看到自定义的BusinessException类是继承自RuntimeException的。所以,我们可以修改全局异常处理器,将Throwable类型的异常转换为BusinessException,并设置相应的code和message。
修改后的全局异常处理器代码如下:
```java
@ControllerAdvice
public class GlobalExceptionHandler {
@ExceptionHandler(Throwable.class)
@ResponseBody
public ApiResponse handleThrowable(Throwable ex) {
BusinessException businessException;
if (ex instanceof BusinessException) {
businessException = (BusinessException) ex;
} else {
businessException = new BusinessException(ResultCode.UNKNOWN_ERROR);
}
return new ApiResponse(businessException.getCode(), businessException.getMessage(), null);
}
}
```
这样,当程序运行中出现Throwable类型的异常时,将会返回如下格式的接口返回值:
{
"code": 8888,
"msg": "程序运行中出现了Throwable类型的异常",
"data": null
}<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [第10课:SpringBoot《全局异常处理器》](https://blog.csdn.net/bobo0218bo/article/details/102889484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文