Java 异常 【钢镚核恒】
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 异常 【钢镚核恒】相关推荐
- Spring MVC【钢镚核恒】
Spring MVC 简介 Spring MVC是Spring体系的轻量级Web MVC框架 Spring MVC的核心Controller控制器,用于处理请求,产生响应 Spring MVC基于Sp ...
- Spring 【钢镚核恒】
Spring 简介 Spring框架是企业开发复杂性的一站式解决方案 Spring框架的核心是loC容器与AOP面向切面编程 Spring loC负责创建与管理系统对象,并在此基础上扩展功能 使用 导 ...
- Java 探究集合List、Map、Set底层的数据结构【钢镚核恒】
Java 集合 简介 集合 (collection)是存储对象的容器.例如:6个人一个团队(集合) 集合与数组类通,数组是存储具体数据的容器.集合的底层有用到数组 这篇文章是加深对集合的理解,探究各种 ...
- Java 面向对象 【钢镚核恒】
Java 面向对象 简介 类和对象 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 对象是类的实例表现 类是对象的类型 对象是特定类型的数据 类,抽象的概念-模板 对象,-个看得到.摸得着的具 ...
- Java 原始的JDBC方式连接MySQL数据库【钢镚核恒】
Java JDBC 简介 JDBC(Java DataBase Connectivity,Java数据库连接) JDBC 可让Java通过程序操作关系型数据库 JDBC 基于驱动程序实现与数据库的连接 ...
- Java 简介之JVM、JDK、JRE【钢镚核恒】
Java 简介 Java是一门面向对象的程序设计语言 1995年由sun公司发布 2010年sun公司被Oracle公司收购 JVM JVM(Java Virtual Machine),Java虚拟机 ...
- Java 安装及卸载【钢镚核恒】
Java 安装及卸载 卸载 删除Java安装目录 删除JAVA_HOME 删除path中的JAVA相关 查看 java -version 安装 下载JDK并安装(路径无中文) 配置环境变量 添加 JA ...
- Java 算法之 “删除链表中倒数第k个节点”【钢镚核恒】
删除链表中倒数第k个节点 简介 题目描述:给定⼀个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点[Leetcode] 链表中倒数第k个节点 , 和这篇文章使用的方法一致,就是变成找到倒数k+ ...
- IntelliJ IDEA 常用的配置 【钢镚核恒】
IntelliJ IDEA 配置 字符集,File Encodings 自动导入,Auto Import 忽视大小写,编译器 - 常规 注释不在第一列 启动时不打开项目 导入.导出配置 快捷键 # 窗 ...
最新文章
- Error creating bean with name 'org.springframework.amqp.rabbit.config.ListenerContainerFactoryBean#0
- The only supported ciphers are AES-128-CBC and AES-256-CBC
- C语言这么难,为何大家都如飞蛾扑火般学习?现在带你揭秘
- 如何查看论坛付费隐藏_如何获取流量?这些引流方式你知多少?
- pageResponse - 让H5适配移动设备全家(移动端适配)
- 禁止电商平台二选一、遛狗必栓绳!5月起有这些新规定
- 请求验证过程检测到有潜在危险的客户端输入值,对请求的处理已经中止。
- JavaScript 模块化编程(一):模块的写法
- PHP的HashTable实现
- Web应用程序中Resource Bundle技术概述
- linux中可以使用-af含义,关于Windows中的linux:AF_UNIX
- 【321天】跃迁之路——程序员高效学习方法论探索系列(实验阶段79-2017.12.23)...
- php智能合约语言,智能合约语言 Solidity 教程系列9 - 错误处理
- 数据分析之basemap模块
- html超链接下划线改虚线_怎么把下划线变成虚线
- python识别验证码并自动登录_Python+Selenium+PIL+Tesseract自动识别验证码进行一键登录...
- numpy保存npy
- 绚丽彩虹同学录V1.4公测版
- Building MFC application with /MD[d] (CRT dll version)requires MFC shared dll version~~~~
- “数据”企业之命脉,守护有责。