Java的新项目学成在线笔记-day3(十)

5.2 异常处理流程 
系统对异常的处理使用统一的异常处理流程:
1、自定义异常类型。
2、自定义错误代码及错误信息。 3、对于可预知的异常由程序员在代码中主动抛出,由SpringMVC统一捕获。
可预知异常是程序员在代码中手动抛出本系统定义的特定异常类型,由于是程序员抛出的异常,通常异常信息比较 齐全,程序员在抛出时会指定错误代码及错误信息,获取异常信息也比较方便。
4、对于不可预知的异常(运行时异常)由SpringMVC统一捕获Exception类型的异常。
不可预知异常通常是由于系统出现bug、或一些不要抗拒的错误(比如网络中断、服务器宕机等),异常类型为 RuntimeException类型(运行时异常)。
5、可预知的异常及不可预知的运行时异常最终会采用统一的信息格式(错误代码+错误信息)来表示,最终也会随 请求响应给客户端。

异常抛出及处理流程:
Java的新项目学成在线笔记-day3(十)
1、在controller、service、dao中程序员抛出自定义异常;springMVC框架抛出框架异常类型
2、统一由异常捕获类捕获异常,并进行处理
3、捕获到自定义异常则直接取出错误代码及错误信息,响应给用户。

4、捕获到非自定义异常类型首先从Map中找该异常类型是否对应具体的错误代码,如果有则取出错误代码和错误 信息并响应给用户,如果从Map中找不到异常类型所对应的错误代码则统一为99999错误代码并响应给用户。
5、将错误代码及错误信息以Json格式响应给用户。
5.3 可预知异常处理 
5.3.1 自定义异常类 
在common工程定义异常类型。

package com.xuecheng.framework.exception;
     import com.xuecheng.framework.model.response.ResultCode; 
  public class CustomException extends RuntimeException { 
     private ResultCode resultCode;   
    public CustomException(ResultCode resultCode) {   
    //异常信息为错误代码+异常信息 
       super("错误代码:"+resultCode.code()+"错误信息:"+resultCode.message());   
      this.resultCode = resultCode;  
   }     
 public ResultCode getResultCode(){ 
       return this.resultCode;   
  }
 }

5.3.2 异常抛出类

package com.xuecheng.framework.exception; 
import com.xuecheng.framework.model.response.ResultCode; 
public class ExceptionCast {  
//使用此静态方法抛出自定义异常 
public static void cast(ResultCode resultCode){   
throw new CustomException(resultCode);   
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值