除了上一节提到的运行时异常和非运行时异常,还有很多常见的异常,比如:
算术异常:ArithmeticExecption
空指针异常:NullPointerException
类转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:IndexOutOfBoundsException
违背安全原则异常:SecturityException
访问权限异常:IllegalAccessException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
……
这一节主要介绍以下五种异常:
空指针异常在编程时也经常遇到,该异常的出现意味着“程序遇上了空指针”,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在调用数组的操作中,一般是刚开始学编程的人常犯的错误,即把数组的初始化和数组元素的初始化混淆了。
数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以如果要调用的话,需要对每个元素都进行初始化。
数据类型转换错误,比如:
String temp=abc;
如果设为int temp就会报错,因为它们类型不一样,但是设为object temp就可以,因为object是它们的父类。
我们在操作数组的时候经常会遇到这个异常,该异常的意思是“数组下标越界”,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围。一般来说,直接用常数当下标调用不太容易出现这样的错误,但用变量当下标调用就容易出现这样的错误,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的长度,以免出现这个异常。
该异常的解释是“没有访问权限”,当应用程序要调用一个类,但当前的方法对该类没有访问权限便会出现该异常,在程序中使用package的情况下要注意这个异常。
一般读写文件会出现这个异常,比如你想从磁盘上读一个文件到你写的程序,如果硬盘上没有这文件,Java虚拟机就会报这个异常。