当前位置: 移动互联网学院 > Java培训 > JAVA开发 > Java常见异常类型总结及示例
Java常见异常类型总结及示例 时间:2017-06-28     来源:华清远见JAVA学院

在Java学习过程中,我们会碰到各种各样的异常,今天华清Java学院小编将面试过程中经常遇到的Java常见异常做一个整理并提供相应的示例,方便大家理解和操作。

Java常见异常类型总结及示例

Java常见异常类型1:NullPointerException

Java空指针异常,属于Java运行时异常。

这个异常在编程时也经常遇到,异常的解释是 “程序遇上了空指针 “,简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在调用数组这些操作中,对数组操作中出现空指针,很多情况下是一些刚开始学习编程的人常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)。

Java空指针异常举例:

public static void main(String[] args) {

String str = null;

//此处报空指针异常

System.out.println(str.length());

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.NullPointerException

at cn.com.gjw.MyClass.main(MyClass.java:7)

Java常见异常类型2:ClassCastException

类型强制转换异常,对Java的一些语法知识不太熟悉的时候会发生的异常,比如有个String temp="abc"; 如果设为(int)temp就会报错了,因为它们类型不一样,但是设为(object)temp就可以,因为object是它们的父类

Java类型强制转换异常举例:

public static void main(String[] args) {

// 类型强制转换异常

Object x = new String("String");

System.out.println((Integer) x);

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

at cn.com.gjw.MyClass.main(MyClass.java:7)

Java常见异常类型3:ArrayIndexOutOfBoundsException

数组下标越界异常。特别常见的一个异常,粗心的程序员都会犯的错误。

这个异常我们在操作数组的时候会经常遇到,异常的解释是“数组下标越界“,现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,好先查看一下数组的length,以免出现这个异常。

数组下标越界异常举例:

public static void main(String[] args) {

int arr[] = {1,2};

// 此处报数组下标越界异常

System.out.println(arr[2]);

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2

at cn.com.gjw.MyClass.main(MyClass.java:7)

Java常见异常类型4:ArithmeticException

算术运算异常,算术跟我水平差不多的你有没有犯过类似的错误呢??

Java算术运算异常举例:

public static void main(String[] args) {

// 整数0做了分母,报算术运算异常

System.out.println(1 / 0);

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.ArithmeticException: / by zero

at cn.com.gjw.MyClass.main(MyClass.java:6)

Java常见异常类型5:NumberFormatException

数字格式异常,什么是数字格式异常呢?一个例子说明一切。

数字格式异常举例:

public static void main(String[] args) {

// 将字符串“it”转换为Integer类型的,当然会报数字格式异常啦

System.out.println(Integer.parseInt("it"));

}

控制台输出的异常信息为:

Exception in thread "main" java.lang.NumberFormatException: For input string: "it"

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:492)

at java.lang.Integer.parseInt(Integer.java:527)

at cn.com.gjw.MyClass.main(MyClass.java:6)

Java常见异常类型6:IllegalAccessException(安全权限异常)

这个异常的解释是“没有访问权限“,当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了Package的情况下要注意这个异常。

Java常见异常类型7: IOException(输入输出异常)

一般读写文件会出现这个异常,比如你想从磁盘上读一个文件到你写的程序,如果硬盘上没有这文件,java虚拟机就会报这个异常。

以上是Java中常见的七种异常及相应的例子,Java中还有很多类似的异常等着我们去发现,这只是冰山一角中的一点。。。

X