Spring-处理异常

--在程序运行中如果某个地方出错的话,该怎么办呢?当处理请求的时候,抛出异常该怎么处理呢?如果发生了这样的情况,该给客户端什么响应呢?
不管发生什么事情,不管是好的还是坏的,Servlet请求的输出都是一个Servlet的响应。
如果在请求处理的时候,出现了异常,那它的输出依然会是Servlet响应。异常必须要以某种方式转换为响应。


一:Spring提供了多种方式将异常转换为响应

1)特定的Spring异常将会自动映射为指定的HTTP状态码;
2)异常上可以添加@ResoonseStatus注解,从而将其映射为某一个HTTP状态码;
3)在方法上可以添加@ExceptionHandler注解,使其用来处理异常;
处理异常的最简单方式就是将其映射到HTTP状态码上,进而放到响应之中。

二:异常状态码

1)400 - Bad Request    请求错误

--TypeMismatchException、BindException、HttpMessageNotReadableException、MethodArgumentNotValidException、MissingServletRequestParameterException、

  MissingServletRequestPartException。

2)500 - Internal Server Error       内部服务器错误 

--ConversionNotSupportedException、HttpMessageNotWritableException。

3)404 - Not Found   找不到页面

--NoSuchRequestHandlingMethException

4)406 - Not Acceptable 请求不接受 

--HttpMediaTypeNotAcceptableException

5)415 - Unsupported Media Type 不支持的媒介类型 

--HttpMediaTypeNotSupportedException

6)405 - Mehtod Not Allowed   方法不被允许

--HttpMessageMethodNotSupportedException

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值