SpringBoot——统一异常处理(二)

我们这篇文章我们即《SpringBoot——统一异常处理(一)》继续讲解统一异常处理

【开发功能描述】

女孩小于10岁,返回“应该在上小学”,大于10岁小于16岁,返回“应该在上初中”

【原始代码】

service


controller


【统一异常处理格式】

新建ExceptionHandle


运行返回结果:



从返回的结果我们发现无论是上小学还是初中 code都是100,这样是不符合逻辑的,要进一步的改善

【解决问题:Code返回值相同】

创建一个GirlException.java


service


ExceptionHandle.java


显示结果


根据结果我们可能会问:什么是未知错误,所以我们继续完善代码

【解决:未知错误】

解决未知错误的办法我们来用日志打印出这个错误


显示结果:控制台显示结果:url=http://localhost:8082/girls/getAge/   没有添加id   所以报出参数错误 ,正确url=http://localhost:8082/girls/getAge/1


【解决:每个Code定义都不相同,随着系统功能增加,code量的增加,打印出来的code值,我们可能就不记得问题的原因,统一Code】

新建一个枚举ResultEnum.java

			package com.springboot.tl.enums;
			
			/**
			 * Created by 滕柳 on 2018/5/3.
			 */
			public enum ResultEnum {
			
			    UNKONW_ERROR(-1,"未知错误"),
			    SUCCESS(0,"成功"),
			    PRIMARY_SCHOOL(100,"上小学"),
			    MIDDLE_SCHOOL(101,"上初中"),
			    ;
			    private Integer code;
			    private  String msg;
			
			     ResultEnum(Integer code, String msg) {
			        this.code = code;
			        this.msg = msg;
			    }
			
			    public Integer getCode() {
			        return code;
			    }
			
			    public String getMsg() {
			        return msg;
			    }
			}

service


GirlException.java


显示结果:


【结尾】

通过这两篇文章关于统一异常处理的讲解,我们知道统一异常处理对一个系统的重要性,这也是值得我们对以后系统深思的一个方面。

猜你喜欢

转载自blog.csdn.net/tengliu6/article/details/80209707