Java 异常

简介

错误在我们编写程序的过程中会经常发生,包括编译期间和运行期间的错误。

异常体系图

异常处理

捕获异常(快捷键 : Ctr l+ Alt + T)

// try块后可接零个或多个catch块,如果没有catch块,则必须跟一个finally块
try{...
}catch(异常类型 异常的变量名){...
}finally{...
}

抛出异常

public void exception () throws Exception{}

自定义异常

  • 自定义异常需要继承Exception或RuntimeException
  • 作用是定义自己的错误描述,来取代系统的报错信息
  • 一般错误信息,采用枚举类配置
/*** 通用异常*/
public class MyException extends Exception {private Integer code;private String msg;public MyException() {super();}public MyException(String message) {super(message);}public MyException(String message, Throwable cause) {super(message, cause);}public MyException(ExceptionEnum exceptionEnum) {this("异常码: " + exceptionEnum.getCode() + " ---- 错误信息: " + exceptionEnum.getMsg());this.code =  exceptionEnum.getCode();this.msg = exceptionEnum.getMsg();}public Integer getCode() {return code;}public String getMsg() {return msg;}
}

Springboot全局异常处理

  • 阻止默认的异常,对外泄露信息
  • 统一接管自定义异常的处理方式
import com.gan.mall.common.ApiRestRespose;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseBody;@ControllerAdvice
public class GlobalExceptionHandler {private final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class);@ExceptionHandler(Exception.class)@ResponseBodypublic ApiRestRespose exceptionHandler(Exception e) {log.info("默认的全局异常: ", e);return ApiRestRespose.error(ExceptionEnum.SYSTEM_ERROR);}@ExceptionHandler(MyException.class)@ResponseBodypublic ApiRestRespose exceptionHandler(MyException e) {log.info("自定义异常: MyException: ", e);return ApiRestRespose.error(e.getCode(), e.getMsg());}
}

Java 异常 【钢镚核恒】相关推荐

  1. Spring MVC【钢镚核恒】

    Spring MVC 简介 Spring MVC是Spring体系的轻量级Web MVC框架 Spring MVC的核心Controller控制器,用于处理请求,产生响应 Spring MVC基于Sp ...

  2. Spring 【钢镚核恒】

    Spring 简介 Spring框架是企业开发复杂性的一站式解决方案 Spring框架的核心是loC容器与AOP面向切面编程 Spring loC负责创建与管理系统对象,并在此基础上扩展功能 使用 导 ...

  3. Java 探究集合List、Map、Set底层的数据结构【钢镚核恒】

    Java 集合 简介 集合 (collection)是存储对象的容器.例如:6个人一个团队(集合) 集合与数组类通,数组是存储具体数据的容器.集合的底层有用到数组 这篇文章是加深对集合的理解,探究各种 ...

  4. Java 面向对象 【钢镚核恒】

    Java 面向对象 简介 类和对象 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 对象是类的实例表现 类是对象的类型 对象是特定类型的数据 类,抽象的概念-模板 对象,-个看得到.摸得着的具 ...

  5. Java 原始的JDBC方式连接MySQL数据库【钢镚核恒】

    Java JDBC 简介 JDBC(Java DataBase Connectivity,Java数据库连接) JDBC 可让Java通过程序操作关系型数据库 JDBC 基于驱动程序实现与数据库的连接 ...

  6. Java 简介之JVM、JDK、JRE【钢镚核恒】

    Java 简介 Java是一门面向对象的程序设计语言 1995年由sun公司发布 2010年sun公司被Oracle公司收购 JVM JVM(Java Virtual Machine),Java虚拟机 ...

  7. Java 安装及卸载【钢镚核恒】

    Java 安装及卸载 卸载 删除Java安装目录 删除JAVA_HOME 删除path中的JAVA相关 查看 java -version 安装 下载JDK并安装(路径无中文) 配置环境变量 添加 JA ...

  8. Java 算法之 “删除链表中倒数第k个节点”【钢镚核恒】

    删除链表中倒数第k个节点 简介 题目描述:给定⼀个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点[Leetcode] 链表中倒数第k个节点 , 和这篇文章使用的方法一致,就是变成找到倒数k+ ...

  9. IntelliJ IDEA 常用的配置 【钢镚核恒】

    IntelliJ IDEA 配置 字符集,File Encodings 自动导入,Auto Import 忽视大小写,编译器 - 常规 注释不在第一列 启动时不打开项目 导入.导出配置 快捷键 # 窗 ...

最新文章

  1. Error creating bean with name 'org.springframework.amqp.rabbit.config.ListenerContainerFactoryBean#0
  2. The only supported ciphers are AES-128-CBC and AES-256-CBC
  3. C语言这么难,为何大家都如飞蛾扑火般学习?现在带你揭秘
  4. 如何查看论坛付费隐藏_如何获取流量?这些引流方式你知多少?
  5. pageResponse - 让H5适配移动设备全家(移动端适配)
  6. 禁止电商平台二选一、遛狗必栓绳!5月起有这些新规定
  7. 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。
  8. JavaScript 模块化编程(一):模块的写法
  9. PHP的HashTable实现
  10. Web应用程序中Resource Bundle技术概述
  11. linux中可以使用-af含义,关于Windows中的linux:AF_UNIX
  12. 【321天】跃迁之路——程序员高效学习方法论探索系列(实验阶段79-2017.12.23)...
  13. php智能合约语言,智能合约语言 Solidity 教程系列9 - 错误处理
  14. 数据分析之basemap模块
  15. html超链接下划线改虚线_怎么把下划线变成虚线
  16. python识别验证码并自动登录_Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录...
  17. numpy保存npy
  18. 绚丽彩虹同学录V1.4公测版
  19. Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
  20. “数据”企业之命脉,守护有责。

热门文章

  1. c语言窗函数的作用,窗函数的C语言实现
  2. 人工智能将使增强记忆成为现实
  3. 学习Python的三种境界
  4. 请教关于reaver解pin 时的疑问
  5. uglifyjs报错 webpack_UglifyJs打包压缩问题引起的思考
  6. 大数据利器剑指围标串标陪标
  7. python系统编程指令_Python系统编程之线程
  8. FoobarFubar
  9. Ajax-XMLHttpRequest
  10. 奥迪A4显示服务器出故障,奥迪A4L偶发无法启动故障