异常

异常类java.lang.Throwable

异常类的老父亲:(可抛出的)
在这里插入图片描述

栗子:
在这里插入图片描述
创建异常对象,输出异常:在这里插入图片描述

异常处理方式

可以throws逗号隔开抛出多个异常
在这里插入图片描述
catch可以:

  1. 写多个进行精确异常
  2. 可以用 逻辑或
    在这里插入图片描述
    在这里插入图片描述

编译时、运行时异常

注:

  1. Error异常不可处理:一个结果,JVM退出
    Exception异常可处理
  2. Exception的直接子类RunTimeException表示运行时异常(UnCheckedException未受检异常,非受控异常)
    其他直接子类为编译时异常(CheckedException受检异常、受控异常)
  3. 运行时异常:可以直接抛给JVM,不需要程序员手动处理
    编译时异常:必须由程序员手动处理(注意:并不是指编译器语句报错,异常是程序运行时错误,编译报错是语法错误!)

所有的异常都是在运行阶段发生的
在这里插入图片描述

编译时异常未处理的语法报错:
在这里插入图片描述

程序员可以选择处理一些运行时异常:
在这里插入图片描述

throw:手动抛出个异常

在这里插入图片描述

异常对象的两个方法

printStackTrace()信息从上往下读(跳过追踪的sun的信息)
在这里插入图片描述

finally

在这里插入图片描述重要:
在这里插入图片描述
害,但是又要遵循:
1. finally中的return会覆盖try/catch中的return
2. finally会在try/catch中的return执行之后执行
(此时只是执行了return语句,并没有返回运算后的值,而是先把返回的值保存起来,不管finally中执行什么语句,返回值都不会再改变,finally执行完后返回这个值)

所以,面试题:

在这里插入图片描述只有System.exit(0)能治住finally:
在这里插入图片描述

final、finally、finalize区别

在这里插入图片描述

定义异常类

死的,就只写这两个方法,再不填任何内容,备注好这个异常类的意义就好,以后就直接new这个异常类的对象throw就可以!
在这里插入图片描述重点:异常在实际开发中的应用:课程496【编程思想】
自己定义异常,抛异常、抛出异常、catch异常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值