java异常分类三大类

声明:该文章中所有测试都是在JDK1.8的环境下。

 

该文章是我在学习Java中的异常处理这方面知识时,做的一些总结和记录。

 

如果有不正确的地方请大家多多包涵并作出指点,谢谢!

 

一、异常机制介绍

 

1.1 基本概念

 

什么是异常?顾名思义就是非正常的现象。就是Java程序在运行的时候出现不正常的情况。举个例子:我们有一个等式"10/0=?"需要计算,我们都知道,10除以0结果是无意义的,所以我们用Java程序计算该等式就会出现非正常现象。

 

1.2 异常类体系

 

在了解了异常的概念之后,那么接下来需要知道Java中异常是如何表示的。

 

首先需要认识java.lang.Throwable类,这个类是Java中所有错误(Error)和异常(Exception)的超类。

 

错误(Error):一般是Java虚拟机相关的,无法解决的严重错误。例如系统崩溃,虚拟机错误。

 

异常(Exception):主要是一些编程错误,可以通过编写代码解决。比如上面讲的计算0作为除数的等式。

 

所以,我们重点需要学习的是能够通过编写代码解决问题的"异常(Exception)"。

 

1.3 异常的种类

 

java.lang.Exception这是所有异常的超类。然后我们查看java.lang.Exception类,发现该异常类下面有好多子类。那这么多异常类,该如何区分和记忆呢?

 

我们根据程序异常在编译时期能否被检测出来,把异常分为两种:

 

RuntimeException:运行时异常,也叫非检测性异常。

 

其他异常:非运行时异常,也叫检测性异常。

 

下面给非检测性异常和检测性异常举例:

 

public class Test{

public static void main(String[] args){

//1.非检测性异常

 

System.out.println(10 / 0); //编译成功,程序可以直接运行,但是在运行代码时会发生算术异常(java.lang.ArithmeticException)

 

//2.检测性异常

 

FileInputStream file = new FileInputStream("d:/a.txt"); //编译时直接错误,程序不能直接运行

 

}

 

}

 

复制代码

 

RuntimeException的主要子类:

 

ArithmeticException:算术异常

 

ArrayIndexOutOfBoundsException:数组下标越界异常

 

NullPointerException:空指针异常

 

IllegalArgumentException:不合法参数异常

 

ClassCastException:类型转换异常

 

NumberFormatException:数字格式异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值