首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SpringBoot 入门——局部与全局的异常处理

一、构建测试代码

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注解的类的异常

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180126A170GN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券