• java 编程思想笔记(七)——异常


    1.什么是异常

      java中的异常指的是程序中的异常(不包括硬件异常(内存溢出等)),比如:语法错误(少写分号),除数为0,nullPoint等。

    2.为啥需要异常

      谁也不想代码在运行的时候,突然程序出现问题了,这个时候就会出现,功能不稳定,数据错误显示等问题,最后导致死机,程序没有响应,开发人员也不知道怎么回事,只能通过日志去排查。所以java对异常的需要是为了解决程序的健壮性或者说鲁棒性。java中的异常不是说有了异常程序就不会出问题,而是可以让程序有异常的时候按照异常的逻辑走完,不会出现宕机等问题。

    3.java对异常的解决

      3.1java对异常的解决抽象成了一个Throwable异常类,根据具体情况(硬件异常还是程序异常)又分为 Error 和Exception 两个子类,程序异常(Exception)根据运行时异常和非运行是异常分为 RuntimeException 和 非运行时异常(继承Exception的异常)。

      

      3.2 大家都知道类是对拥有相同属性和行为对象的抽象模板,在程序运行过程中必须通过具体的对象才能完成具体任务,这个时候就得说说异常对象的创建了。java异常对象的创建分为两种方式:1.一种是程序运行时环境自动抛出的异常,这些异常不需要我们使用 throw 关键字就可以自己抛出。2:程序员根据具体情况自定义的异常,使用 throw new 异常 的方法抛出异常对象。

      3.3 关于java异常类的具体实现以及使用可以查看api;

    4.java 异常机制

    try {
         //正常运行代码
    } catch (Exception e) {
         //捕获异常后执行的代码    
         e.printStackTrace();
    } finally {
         //最终执行(是否有异常)
    }    

      4.1 以上就是java 异常机制。个人感觉书上说的太啰嗦。

      4.2 除了上面的 try catch finally 外还有两个关键字: throw 和 throws

             throw :用于方法体内,抛出 Throwable 类的异常对象。如果抛出的是运行时异常,该方法也必须在方法头部声明抛出的异常类型。调用该方法者也必须捕获处理或者抛出该异常,如果所有方法都没有捕获处理抛出给虚拟机,则由虚拟机处理异常。

          throws : 用于方法体声明部分,用来声明可能会抛出的异常类型。如果声明的是运行时异常,则调用该方法的方法必须自己处理或者继续抛出异常。

      4.3 throw 和 throws 的区别和联系:

        throw 是语句抛出异常一个异常,如: throw new RuntimeException;

        throws 是方法抛出一个异常。

        很明显,throw 抛出异常后由 throws 转化为方法异常继续抛出

        throw 不能单独使用,throws 却可以。

    5.用户自定义异常

      继承Exception 或者RuntimeException 异常类就可以实现自定义异常。

      重新或者覆盖父异常类的方法可以实现自己想要的结果。

      通过 new throw myException;来使用异常。

      

      异常总结完了。!!!

      

  • 相关阅读:
    zoj3814
    cf249D
    codeforces 461C
    uva 11584
    Codeforces Round #247 (Div. 2) C D
    AOAPC I: Beginning Algorithm Contests (Rujia Liu) Volume 6. Mathematical Concepts and Methods
    AOAPC I: Beginning Algorithm Contests -- Training Guide (Rujia Liu) Chapter 3. Data Structures Fundamental Data Structures
    Codeforces Round #257 (Div. 2)
    DAY 16 PYTHON入门
    DAY 15 PYTHON入门
  • 原文地址:https://www.cnblogs.com/wwyx-xi/p/7389860.html
Copyright © 2020-2023  润新知