Java中常见的异常类型
2015-09-27 23:41
239 查看
异常大体分为编译异常和运行异常两类,如果用软件开发(如Eclipse)编译异常在写代码时得到提醒,而运行异常需要在运行时才能得到提示。
下面介绍几种常见的异常类型,便于在出错时对程序进行查错:
(1)Exception 各种异常的根类
如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception。
(2)ArithmeticException 算数运算错误异常
这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常。
(3)ArrayIndexOfOutBoundsException 数组下标越界
编程时要记住Java数组下标是从0开始的,数组下标最大值为数组长度减1,如arr[10],最后一个数组元素是arr[9],如果写成arr[10]就会出现ArrayIndexOfOutBoundsException异常。
(4)NullPointException 空指针异常
这个异常是针对调用未经初始化或未定义的对象抛出的异常。
(5)ClassNotFoundException 不能加载所需的类
在java文件编译后,可能是由于需要把.class文件移到了其他的文件夹,此时引用这个.class文件要注意修改其路径,否则会抛出ClassNotFoundException异常。
(6)InputMismatchException 输入的数据类型与所需类型不匹配异常
比如你需要int类型,但是通过输入框得到的是String类型,就会抛出InputMismatchException异常。
(7)IllegalArgumentException 方法接受非法参数
这个是传入方法中的参数类型不正确,如方法plus(int a,int b),调用时写成a.plus(1,a)就会出现
IllegalArgumentException异常。
(8)NumberFormatException 字符串转换成数字异常
在数据类型强制转换时出现的异常,字符串“123”转换成数字123不会出现异常,但是字符串“1@23”转换成int类型就会抛出ClassCastException异常。
介绍的异常不多,希望对大家有所帮助,希望各位大侠多多指点!
下面介绍几种常见的异常类型,便于在出错时对程序进行查错:
(1)Exception 各种异常的根类
如果你不知道将发生的异常集体属于哪,而可以肯定种这个地方会出现异常时,可以把异常类型定义为Exception。
(2)ArithmeticException 算数运算错误异常
这个异常是在算数运算时经常遇到的,常见的情况是除数为0时抛出的异常。
(3)ArrayIndexOfOutBoundsException 数组下标越界
编程时要记住Java数组下标是从0开始的,数组下标最大值为数组长度减1,如arr[10],最后一个数组元素是arr[9],如果写成arr[10]就会出现ArrayIndexOfOutBoundsException异常。
(4)NullPointException 空指针异常
这个异常是针对调用未经初始化或未定义的对象抛出的异常。
(5)ClassNotFoundException 不能加载所需的类
在java文件编译后,可能是由于需要把.class文件移到了其他的文件夹,此时引用这个.class文件要注意修改其路径,否则会抛出ClassNotFoundException异常。
(6)InputMismatchException 输入的数据类型与所需类型不匹配异常
比如你需要int类型,但是通过输入框得到的是String类型,就会抛出InputMismatchException异常。
(7)IllegalArgumentException 方法接受非法参数
这个是传入方法中的参数类型不正确,如方法plus(int a,int b),调用时写成a.plus(1,a)就会出现
IllegalArgumentException异常。
(8)NumberFormatException 字符串转换成数字异常
在数据类型强制转换时出现的异常,字符串“123”转换成数字123不会出现异常,但是字符串“1@23”转换成int类型就会抛出ClassCastException异常。
介绍的异常不多,希望对大家有所帮助,希望各位大侠多多指点!
相关文章推荐
- 【总结】关于Java中从键盘读入各种数据的方式
- 1.1java简介
- Java栈的应用检测平衡符号
- Eclipse alt+/ 失效 解决
- JAVA_SE基础——33.this关键字的练习
- Java — 泛型程序设计(1)(Core Java I)
- Java Web开发2___<jsp:include>和<%@ include %>的区别
- Java 信号量 Semaphore 介绍
- MyEclipse打开记事本编写好的代码…
- JDK 源码解析 —— Java 内存模型
- java的各种使用小知识点总结。
- HashMap在java中是怎么工作的
- String类的不可变性
- java synchronized详解
- Spring Batch Hello World Example(一)
- JAVA历史
- 浅析spring IOC操作
- java连接sql server 2008
- spring配置ehcache
- jdk5.0新特性