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

  

java自定义的异常类的更多相关文章

  1. java异常,异常处理,异常类 关键字:throws 和 throw 自定义的异常类

    package cn.kecheng; import java.util.Scanner; /**异常:异常是指在程序的运行过程中所发生的不正常的情况,它会中断正在运行的程序 异常处理机制:java中 ...

  2. 基于数组实现Java 自定义Stack栈类及应用

    栈是存放对象的一种特殊容器,在插入与删除对象时,这种结构遵循后进先出( Last-in-first-out,LIFO)的原则.java本身是有自带Stack类包,为了达到学习目的已经更好深入了解sta ...

  3. java中自定义一个异常类 在某些情况抛出自定的异常 ----------阻断程序

    //=============定义异常类 package org.springblade.flow.engine.errorException; /** * 自定义异常处理写入sap失败 */ pub ...

  4. Java学习(异常类)

    一.什么是异常: 异常就是在运行时产生的问题.通常用Exception描述. 在java中,把异常封装成了一个类,当出现问题时,就会创建异常类对象并抛出异常相关的信息(如详细信息,名称以及异常所处的位 ...

  5. Java学习(异常类练习题)

     练习题: 1.计算圆的面积,半径不能为零和负数 package com.oracle.Demo01; public class Demo02 { // 写一个计算圆的面积的方法,传一个半径,返回面积 ...

  6. Core Java 总结(异常类问题)

    所有代码均在本地编译运行测试,环境为 Windows7 32位机器 + eclipse Mars.2 Release (4.5.2) 2016-10-17 整理 下面的代码输出结果是多少?为什么?并由 ...

  7. java中的异常类

    Java中的异常: 1. Throwable是所有异常的根,java.lang.Throwable Throwable包含了错误(Error)和异常(Exception),Exception又包含了运 ...

  8. java内部类和异常类的概念

    1.内部类的外嵌类的成员变量在内部类中任然有效,内部类中的方法也可以调用外嵌类中的 方法,内部类中不可以声明类的变量和方法,外嵌的类体可以用内部类声明对象,作为外嵌类的成员.内部类仅供他的外嵌类使用. ...

  9. JAVA中常见异常类

    1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...

  10. Java 创建用户异常类、将异常一直向上抛、 throw和throws的区别

    如果java提供的系统异常类型不能满足程序设计的需求,那么可以设计自己的异常类型. 从java异常类的结构层次可以看出,java类型的公共父类为Throwable.在程序运行中可能出现俩种问题:一种是 ...

随机推荐

  1. ES6 新语法新特性总结中...

    1. 感觉 for of   通杀 for循环 和 for in呢 aaa 可以是array /object for (let k of aaa) {     console.log(k) }   2 ...

  2. typescript学习 回顾查漏

    1.在public构造函数上使用on参数是一种速记,它使我们能够自动使用该名称创建属性. class Student { fullName:string; constructor(public fir ...

  3. Jenkins Pipeline(一) - 创建一个新的pipeline

    jenkins pipeline: 使用Goovy语法,以代码形式更自由地编写jenkins job. 代码文本被称为Jenkinsfile IDE: vscode 推荐安装vscode插件: jen ...

  4. js原生判断数字类型

    js判断数字类型汇总最近在写代码的时候,有些逻辑需要判断数字类型,等用到的时候才发现自己了解的方法不太严密,然后就决心查资料汇总了解下有哪些方法比较严密 第一种:typeof + isNaN使用typ ...

  5. [已解决]Android studio连接远程MySQL问题解决

    我电脑安装的是8.0的MySQL,导入使用的jar包是mysql-connector-java-5.0.7 1.首先先按照大佬的链接配置好一些东西,注意!已经安装8.0版本MySQL的保持原样就行,不 ...

  6. springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy

    springboot启动报错 Failed to scan *****/derbyLocale_ja_JP.jar from classloader hierarchy   这两天自己在玩虚拟机,想把 ...

  7. 更改DBGrid 颜色技巧

    1.根据条件更改某一单元格的颜色 [delphi] view plain copy procedure TMainFrm.First_DGDrawColumnCell(Sender: TObject; ...

  8. 国产DP4344兼容替代CSM4344 192K双通道输出数模转换芯片

    DP4344 是一款完整的 2 通道输出数模转换芯片, 内含插值滤波器.Multi-Bit 数模转换器.输出模 拟滤波器,并支持大部分的音频数据格式.DP4344 基于一个带线性模拟低通滤波器的四阶 ...

  9. Cannot add middleware after an application has started

    This helped: Open the Command Prompt or the Windows PowerShell. Navigate to your Stable Diffusion fo ...

  10. win10 校验MD5值

    CertUtil -hashfile C:\xxxxx\xxx.xxx MD5   // C:\xxxxx\xxx.xxx为文件路径