BD1 - Java 2-3 异常

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,895评论 18 399
  • 通俗编程——白话JAVA异常机制 - 代码之道,编程之法 - 博客频道 - CSDN.NEThttp://blog...
    葡萄喃喃呓语阅读 8,382评论 0 25
  • 当你看透一切时, 活得就自在了! 不会在意别人的眼光,不会嫉妒别人的幸福, 不会反复无常,不会小题大做, 能平静的...
    福如东海_6a03阅读 2,532评论 0 0
  • 新的一天又开始了,早上过来这边看了一早上视频,想着先给自己放半天假,下午去对接接下来学习的事。可是到了下午过去对接...
    我的回忆录阅读 1,163评论 0 0
  • 今天大宝的街舞班正式的交费了,很欣慰因为自己认为孩子的性格有点内向,需要学一点张扬的特长来中和一下她的性格。...
    盖金辉教育碎思阅读 2,860评论 0 4