java自定义的异常类
2024-10-21 07:27:45
java自定义的异常类
1、自定义异常类,需要继承 RuntimeException
@Data
public class EmployeeCheckException extends RuntimeException
{
private int code;
private String msg;
public EmployeeCheckException(String msg, int code)
{
this.code = code;
this.msg = msg;
}
public EmployeeCheckException(String msg)
{
this.code = DATA_PARAM_FAIL_CODE;
this.msg = msg;
}
}
2、和全局异常放在一起
@RestControllerAdvice
@Slf4j
public class GlobalExceptionHandler
{ /**
* 异常处理方法,可以自定义异常
* @param request 请求
* @param e 异常
* @return 错误提醒
*/
@ResponseBody
@ExceptionHandler(value = Exception.class)
public String defaultErrorHandler(HttpServletRequest request, Exception e)
{
//输入参数不满足约束
if(e instanceof MethodArgumentNotValidException)
{
e.printStackTrace();
BindingResult result = ((MethodArgumentNotValidException) e).getBindingResult();
return ResponseJsonUtil.returnJson(result.getAllErrors().get(0).getDefaultMessage(), PsiInfo.BAD_REQUEST.code);
}
else if(e instanceof IllegalArgumentException)
{
e.printStackTrace();
return ResponseJsonUtil.returnJson(e.getMessage(), PsiInfo.BAD_REQUEST.code);
}
else if(e instanceof EmployeeCheckException)
{
return ResponseJsonUtil.returnJson(((EmployeeCheckException)e).getMsg(), ((EmployeeCheckException) e).getCode());
}
else
{
e.printStackTrace();
return ResponseJsonUtil.returnJson(PsiInfo.ERROR.name, PsiInfo.ERROR.code);
}
}
}
最新文章
- JVM-加载,链接,初始化
- 微信电脑版-微信for windows客户端发布
- CaptureManagerSDK
- ACM: Hotel 解题报告 - 线段树-区间合并
- Spring+Quartz 整合二:调度管理与定时任务分离
- C语言内存管理
- spring的主要特性
- [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案
- FMDB的一些基本操作小结
- Flask 测试
- xp密钥-资源分享
- linux 网络连接数查看方法
- Chrome DevTools: Export your raw Code Coverage Data
- python_day4
- Visualbox与CentOS 6.4之间鼠标切换
- easyui---修改删除查询
- 20171123初学demo爬去网页资料
- Linux 服务器上快速配置阿里巴巴 OPSX NTP服务
- jquery fullPage
- Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager[identityToken->;原因解决办法