java异常

来源:互联网 发布:洛杉矶黑帮知乎 编辑:程序博客网 时间:2024/05/20 10:15

异常机制已经成为判断一门语言是否成熟的标准。

首先,了解下java异常类的层次结构:


所有的异常类都继承于Throwable类,该类有两个子类Error(错误)和Exception(异常)。

  1. Error错误,一般是指虚拟机相关问题,如系统崩溃,虚拟机出错,动态链接失败等。这种错误无法恢复或者不可能捕获,将导致应用程序中断。通常应用程序无法处理这些错误,应用程序不该用catch来捕获Error对象。在定义方法时,也无须再其throws子句中声明该方法可能抛出Error及其任何子类。
  2. Exception异常,程序本身可以处理的异常。
通常,java异常分为可查异常和不可查异常。
  1. 可查异常:Exception子类中不是RuntimeExcepiton类及其子类的异常实例被称为Checked异常
  2. 不可查异常:Exception子类中RuntieException及其子类以及Error都是不可查异常。
java认为checked异常都是可以被处理的异常,所以程序必须显式处理Checked异常,如果程序没有处理Checked异常,该程序在编译时就会发生错误,无法通过编译。
Runtime异常更加灵活,Runtime异常无须显式抛出,如果程序需要捕捉Runtime异常,也可以使用try...catch来捕获Runtime异常。

Java的异常机制主要依赖于try, catch, finally, throw 和throws五个关键字。

  1. try关键字后面紧跟一个花括号括起来的代码块,简称为try块
  2. catch后对应异常类型和一个代码块,用于表明该catch用于处理这种类型的代码块
  3. finally用于回收在try快里打开的物理资源,异常机制会保证finally总会被执行
  4. throws主要用在方法的签名中,用户声明该方法可能抛出的异常
  5. throw用于抛出一个实际的异常

0 0
原创粉丝点击