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);
}
}
}

  

最新文章

  1. JVM-加载,链接,初始化
  2. 微信电脑版-微信for windows客户端发布
  3. CaptureManagerSDK
  4. ACM: Hotel 解题报告 - 线段树-区间合并
  5. Spring+Quartz 整合二:调度管理与定时任务分离
  6. C语言内存管理
  7. spring的主要特性
  8. [置顶] LED办公楼宇照明节能方案及城市夜景照明节能方案
  9. FMDB的一些基本操作小结
  10. Flask 测试
  11. xp密钥-资源分享
  12. linux 网络连接数查看方法
  13. Chrome DevTools: Export your raw Code Coverage Data
  14. python_day4
  15. Visualbox与CentOS 6.4之间鼠标切换
  16. easyui---修改删除查询
  17. 20171123初学demo爬去网页资料
  18. Linux 服务器上快速配置阿里巴巴 OPSX NTP服务
  19. jquery fullPage
  20. Pool thread stack traces: Thread[C3P0PooledConnectionPoolManager[identityToken->原因解决办法

热门文章

  1. PGSQL新建临时表
  2. pytorch gpu安装cuda11.*
  3. Oracle —— 对表数据操作的各种小Tip
  4. Ubuntu 添加新用户并制定目录和shell
  5. CentOS 7.9 环境下添加拥有 sudo 权限的用户
  6. Java中保留两位小数之format
  7. JS-变量存储
  8. kali对安卓的渗透(内网穿透)
  9. ApiPost前后端人员可以使用的接口测试工具还带生成文档
  10. SpringMVC学习day03