学习笔记整理之自定义异常

  1. 知识标题:自定义异常
      
    ①用来解决什么问题
    在抛出异常时,异常类名往往包含有用的信息,所以在选择抛出异常时需要选择适合的类,从而可以明确的描述该异常情况。这时候就需要我们自己定义异常
     
    ②是怎样解决的?
     自定义异常一定是Throwable的子类,若是检查异常就要继承自Exception,若是运行时异常就要继承自RuntimeException
    e.g.5
     
     public class AuctionException extends Exception { 
    //无参构造 
    public AuctionException() {} 
    //含参构造 
    //通过调用父类的构造器将字符串msg传给异常对象的massage属性,
     //massage属性就是对异常的描述 
    public AuctionException(String msg) { super(msg); } }
    
     
    优点是什么?
     
     
    缺点是什么?
     
     
    ⑤要注意么?(总结)
    1. 不要过度使用异常:对于完全已知的错误应编写处理这种错误代码从而提高代码的健壮性,只有外部的、不能确定的和不可预知的运行时错误使是用异常,并且异常机制的效率低于正常的流程控制。
    2. 不要使用过于庞大的try块:过于庞大的try块业务也相对更复杂,会导致try块中异常的可能性大大增加,在分析发生异常的原因时难度增加。
    3. 避免使用Catch All语句:Catch All是catch(Throwable t),也会在发生异常是分析原因的复杂度增加。
    4. 不要忽略已捕获到的异常:对于捕获到的异常应该对其进行处理从而提高代码健壮性,而不是什么都不做或者只是打印跟踪栈信息。
原文地址:https://www.cnblogs.com/GuangMingDingFighter/p/9426411.html