美文网首页
BD1 - Java 2-3 异常

BD1 - Java 2-3 异常

作者: hongXkeX | 来源:发表于2017-07-31 20:23 被阅读8次

    We believe that writing is about content, about what you want to say – not about fancy formatting.
    我们坚信写作写的是内容,所思所想,而不是花样格式。
    — Ulysses for Mac

    Java第7天上午

    上午主要讲了异常处理

    学习目标:

    • 理解异常概念
    • 运用try块、catch块和finally块处理异常
    • 运用多重catch块处理异常
    • 运用嵌套try catch块处理异常
    • 运用throw 和 throws处理异常
    • 运用java编写和使用自定义异常

    生活中的异常:

    QQ图片20170731124233.png

    什么是异常:

    什么是异常

    异常类的层次结构:

    层次结构 层次结构
    • Throwable
      • Exception
      • Error

    记住常见的异常:

    • Exception
      (异常层次结构的根类)
    • ArithmeticException
      (算术错误情形,如以零作除数)
    • ArrayIndexOutOfBoundException
      (数组大小小于或大于实际的数组大小)
    • NullPointerException
      (尝试访问 null 对象成员)
    • ....
    异常类

    异常处理:

    异常处理

    进行异常处理:(通过5个关键字实现)

    • try catch finally
    • throw throws


      异常处理

    try catch finally:

    异常处理块的一般形式:

    异常处理块的一般形式

    try catch 情况一:

    try catch 情况一

    try中不会产生异常则不进入catch而执行后面的语句

    try catch 情况一示例:

    示例1

    学会看异常信息:


    Paste_Image.png

    try catch 情况二:

    try catch 情况二

    try中产生了异常 进入catch中 执行完catch中语句后再执行后面的代码段5

    try catch 情况二示例:

    try catch 情况二示例

    try catch 情况三:

    try catch 情况三

    如果异常类型不匹配,则不进入相应catch内,程序中断运行。

    try catch 情况三示例:

    情况三示例

    由情况三 引出finally:

    引出finally finally示例
    • 不管有木有出现异常,finally块中代码都会执行
    • 当try和catch中有return时,finally仍然会执行
    • finally是在return后面的表达式运算后执行的,所以函数返回值是在finally执行前确定的

    多重catch块:

    多重catch

    注意多重catch块 异常 顺序:
    catch异常类 要先catch子类后父类

    catch顺序

    所以 这样错:


    catch顺序错

    (IOException 是 FileNotFoundException的父类)

    下面才对:

    public class T3 {
    
        public static void main(String[] args) {
            try{
                FileReader read = new FileReader("d:/test.txt");
                char a = (char)read.read();
            } catch (FileNotFoundException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    

    下午做了一些练习:


    每日一练:

    课堂作业:
    作业点我查看

    课外练习:
    课外作业点我查看


    拓展阅读:

    1 - Java异常体系结构
    2 - 深入理解java异常处理机制

    世界上所有的追求都是因为热爱
    一枚爱编码 爱生活 爱分享的IT信徒
    — hongXkeX

    相关文章

      网友评论

          本文标题:BD1 - Java 2-3 异常

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