controller层统一处理异常

  • 参数不可读

*/

@ExceptionHandler(value = HttpMessageNotReadableException.class)

public CommonResult handleHttpMessageNotReadableException(HttpMessageNotReadableException e) {

return CommonResult.errorResult(ResultCode.PARAM_IS_INVALID, e.getMessage());

}

}

复制代码

handException方法主要拦截:没有被拦截处理的异常信息

handUserExceptionHandler:拦截主动抛出的异常信息(这个异常是自己自定义的异常信息)

handleHttpMessageNotReadableException:拦截参数不可读异常 这个异常时jdk里面自带的异常(正如上面所说 对于不同的异常 可以做不同的拦截处理,返回的错误信息也可以自己自定义 这样的错误提示能更快定位问题)

  • 2.2 自定义异常

public class UserException extends RuntimeException{

private static final long serialVersionUID = 1L;

private String code;

public UserException() {

super();

}

public UserException(String message) {

super(message);

this.code = ResultCode.EXISTING_ASSOCIATED_DATA.getCode();

}

public UserException(String code, String message){

super(message);

this.code = code;

}

public UserException(String message, Throwable cause) {

super(message, cause);

}

public UserException(Throwable cause) {

super(cause);

}

}

复制代码

自定义异常 有些异常java中可能没包含的异常 自己也可以自定义 这些异常也可用拦截器进行拦截处理 只需要@ExceptionHandler(value = UserException.class)这样就可以拦截到自定义的异常

  • 2.3 controller层写的一个测试方法

@PostMapping(value = “/testException”)

public void test1(){

throw new UserException(“这是我抛出得一个异常”);

}

复制代码

这个异常只是一个测试(自定义的异常) 直接抛除一个异常 这个异常会被统一拦截器做拦截处理 其返回的内容如下(返回了一个标准的json数据格式):

image.png

再看一个例子: 这个是java自带的异常 若抛出异常 则回被拦截到handException方法里做相应的处理:

@PostMapping(value = “/testException”)

public void test1() throws FileNotFoundException {

File file = new File(“D:222.pdf”);

FileInputStream inputStream = new FileInputStream(file);

复制代码

也返回的时标准的json数据格式:

image.png

而如果用try-catch去做处理:

@PostMapping(value = “/testException”)

public void test1(){

File file = new File(“D:222.pdf”);

try {

FileInputStream inputStream = new FileInputStream(file);

} catch (FileNotFoundException e) {

e.printStackTrace();

最后

面试是跳槽涨薪最直接有效的方式,马上金九银十来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

来了,各位做好面试造飞机,工作拧螺丝的准备了吗?

掌握了这些知识点,面试时在候选人中又可以夺目不少,暴击9999点。机会都是留给有准备的人,只有充足的准备,才可能让自己可以在候选人中脱颖而出。

[外链图片转存中…(img-ujp6K8v9-1719154664112)]

[外链图片转存中…(img-94HgkHx4-1719154664112)]

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值