异常

作者: 程序员必修课 | 来源:发表于2018-01-18 16:03 被阅读0次

    Throwable java中所有异常的父类

    派生两个子类,Error和Exception

    try-catch
    try{…}用于检测异常

    jvm

    • 1:当运行str.length()时发现string 是null
    • 2:jvm实例化了一个NullPointerException的实例
    • 3:将程序执行过程的详细信息设置到该异常实例中
    • 4:将其在string.length()这个位置抛出该异常实例
    • 5:查看出错的方法string.length()是否被try语句包含
    • 6:如果没有被try语句包含,jvm会将该异常向string.length()所在的方法之外抛出若抛出到main方法之外,那么该程序终止
    • 7:若被try语句包围,顺序调用try下面的catch查看哪个catch可以捕获该异常,若有则进入catch内部来执行处理代码的片段,否则和第6步相同

    finally应该是发生在异常捕获的最后一步,写在最后一个catch之后
    finally是无条件执行的,不管有没有出错,都会执行

    finally可以写在try下面,不关注异常的解决,必须得执行finally。

    throw
    1:异常不应该在当前代码中处理
    2:程序出现非语法错误,但是不满足业务逻辑

    throws
    就是丑话说前面
    main方法不要写throws!

    1:重写方法是可以不throws抛出任何异常
    2:可以抛出父类部分异常
    3:可以抛出父类抛出的异常的子类异常
    FileNotFoundException是IOException的子类

    1:不允许抛出额外异常
    2:不允许抛出父类抛出异常的父类异常

    自定义异常

    相关文章

      网友评论

        本文标题:异常

        本文链接:https://www.haomeiwen.com/subject/zpewoxtx.html