一、构建测试代码
1
新建MAVEN项目
打开IDE—新建Maven项目—构建一个简单Maven项目
2
编写pom.xml引入包
编写pom配置引入jar包
注:引入完毕后可能项目会报红叉,更新maven即可
3
新建一个controller类
类名:TestController
4
新建一个Application类
包名:com.springboot
类名:TestController
然后运行程序
5
测试
输入地址:http://localhost:8080/test/hello1
如果显示:hello1,则测试成功
测试代码编写完成
二、局部异常处理
对TestController类进行操作
1
创造异常点
如果设置一个变量=整数/0,则会发生ArithmeticException异常
在TestController中加入除0异常点
2
编写异常处理方法
在TestController中加入异常处理方法
3
测试
输入地址:http://localhost:8080/test/hello1
如果显示:发生了除0异常,则测试成功
三、全局异常处理
1
创建一个新的Cpntroller类
类名:TestGlobalController
2
编写全局异常类
类名:GlobalDefaultExceptionHandler
全局异常处理返回字符串
.
全局异常处理返回JSON
.
全局异常处理返回JSP
.
注:需要配置一下才能支持jsp
需要在pom添加JSP的支持
.
需要配置application.properties
添加application.properties文件,然后往其中写入
.
需要添加jsp文件
添加JSP,放置在src/main/webapp/WEB-INF目录下
3
全局异常类应用范围设置
@ControllerAdvice简介
在spring 3.2中,新增了@ControllerAdvice 注解可以用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。
这里我们全局异常只应用到@ExceptionHandler
设置@ControllerAdvice应用范围
设置了@ControllerAdvice应用范围,即就设置了异常类的应用范围
@ControllerAdvice的范围有:
basePackages:应用在xx包
basePackageClasses:应用在xx类
assignableTypes:应用在加了@Controller的类
annotations:应用在带有xx注解的类或者方法
≥简单用法例子:
@ControllerAdvice(basePackageClasses=)
只捕捉TestController.class中的异常
@ControllerAdvice(assignableTypes=)
只捕捉TestController.class中的异常
@ControllerAdvice(annotations=TestException.class)
只捕捉带有@TestException注解的类
上面四个注解一个应用包,然后的两个用在类,而最后一个只应用于带有XX注解的类
3.讲讲应用在注解怎么写
(1)创建一个注解类
注:关于注解类的简说请看:
https://my.oschina.net/u/3523885/blog/1489959
(2)将注解加到TestController类
加入@TestException注解
(3)TestController类不加注解
(4)设置异常类只捕捉带有@TestException注解的类的异常
领取专属 10元无门槛券
私享最新 技术干货