异常 复习

异常复习

异常(广义):泛指程序中一切不正常的情况

错误:例如内存不够用,程序是无法解决的

异常(狭义):程序在运行中出现问题,但是可以通过异常处理机制处理,程序可以继续向后执行

常见的运行期异常

RuntimeException:运行时异常

NullPointerException:空指针异常

ArrayIndexOutofBoundsException:数组越界异

ClassCastException:类型转换异常

常见的编译期异常

OException:输入输出流异常

FileNotFoundException:文件找不到的异常

ClassNotFoundException:类找不到的异常

DataFormatException:数据格式化异常

SQLException:数据库操作异常

异常体系

Throwable类有两个直接子类:Exception类、Error类。

Error:表示错误,可能是编译期错误或者系统错误,往往程序中是不处理的

Exception:表示异常,是所有异常类的父类,是程序员关心的事

异常分为:运行期异常和编译期异常

运行期异常:程序运行时抛出的异常,所有RuntimeException的子类都是运行期异常(数学异常、空指针异常、数组下标越界....)

编译期异常:除去运行期的异常都是编译期异常,也称为检测异常(写代码时就会提示处理)

throw和throws的区别

throws

在方法的形参列表后面,声明此方法可能会抛出某种类型的异常,可以声明多个

如果声明为运行时异常,编译期不强制处理

如果声明为编译期异常,编译期间强制提示进行处理

抽象方法也可以用throws声明异常类型

重写的方法中声明的异常类型等于或小于父类声明的类型

throw

在方法中抛出具体的异常对象

final和finally的区别

  • final:用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,被其修饰的类不可继承。

  • finally:异常处理语句结构的一部分,表示总是执行。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重开之Java程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值