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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,133评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,682评论 3 390
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,784评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,508评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,603评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,607评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,604评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,359评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,805评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,121评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,280评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,959评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,588评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,206评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,442评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,193评论 2 367
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,144评论 2 352

推荐阅读更多精彩内容

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