java 常用异常及作用

先看看图, Exception就明白了

  

 

  关于异常 大体分为 不可查异常 可查异常 runtimeException三类~异常都继承throwable这个类~ 下面有error和Exception两大类~

不可查异常 为 error : 是由于系统错误`是无法恢复的`比如~你没显卡`怎么显示图像!是无法恢复的

~Exception 下为 可查异常和runtimeException两大类~可查异常是由于环境造成`是捕获处理的重点` 可以恢复的`

runtimeException~是由于你程序设计的有漏洞`比如 1/0~的情况~ 正确设计不会出现的` 一般不捕获或处理~

main()方法throws出   异常  会由jvm 虚拟机处理~   其实就是jvm终止你线程~

 

1.   ArithmeticException - 算术运算中,被0除或模除。

2、ArrayIndexOutOfBoundsException - 数组越界访问。

3、ArrayStoreException - 数据存储异常,写数组操作时,对象或数据类型不兼容。

4、ClassCastException - 类型转换异常。

5、IllegalArgumentException - 方法的参数错误 无效。

6、IllegalThreadStateException - 试图非法改变线程状态,比方说试图启动一已经运行的线程。

7、NullPointerException - 试图访问一空对象的变量、方法或空数组的元素("程序遇上了空指针",因为调用了未经初始化的对象或者是不存在)

8、NumberFormatException - 数据格式异常,试图把一字符串非法转换成数值(或相反)。

9、SecurityException - 如果Applet试图执行一被WWW浏览器安全设置所禁止的操作。

10、IncompatibleClassChangeException - 如改变了某一类定义,却没有重新编译其他引用了这个类的对象。如某一成员变量的声明被从静态改变为非静态,但其他引用了这个变量的类却没有重新编译,或者相反。

11、OutOfMemoryException - 内存不足,通常发生于创建对象之时。

12、NoClassDefFoundException - JAVA运行时系统找不到所引用的类。

13、IncompatibleTypeException - 试图实例化一个接口,Java运行时系统将抛出这个异常。

14、UnsatisfiedLinkException - 如果所需调用的方法是C函数,但Java运行时系统却无法连接这个函数。

15、InternalException - 系统内部故障所导致的异常情况,可能是因为Java运行时系统本身的原因。如果发现一可重现的InternalException,可以直接给Sun公司发电邮java@java.Sun.com。

16.   java.lang.classnotfoundexception 解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可。

17.  

 

Exception分为两类:运行期异常  和 非运行期异常


java编译器要求方法必须声明抛出可能发生的运行时异常,但是并不要求必须声明抛出未被捕获的运行时异常。

A:NullPointerException:对象的值是null
举例:调用Person类的show方法
Person p = null;
p.show();


B:ClassCastException:类型转换异常
举例:在多态中常见
Animal a = new Dog();
Cat c = (Cat)a;


C:NoSuchElementException:没有这个元素异常
举例:在迭代器中,已经访问到元素的末尾了,你还在继续访问。
Iterator it = array.iterator(); //只有两个元素
System.out.println(it.next());
System.out.println(it.next());
System.out.println(it.next()); //NoSuchElementException


D:IndexOutOfBoundsException:
举例:指示某排序索引(例如对数组、字符串或向量的排序)超出范围时抛出。

 

E:ArrayIndexOutOfBoundsException:数组索引越界异常

举例:访问数组时,索引越界
int[] arr = {1,2,3};
System.out.println(arr[3]);


F:NumberFormatException:数据格式化异常
举例:把一个非数字字符串转换成数字类型
int num = Integer.parseInt("abc");


G:ClassNotFoundException:找不到类的异常
举例:路径不对的时候。


H:FileNotFoundException:找不到文件异常
举例:在读取文件的时候,文件不存在。
FileReader fr = new FileReader("fr.txt");


I:ConcurrentModificationException:并发修改异常
举例:在使用迭代器迭代数据的过程中,你又使用集合对象去操作元素。

posted @ 2018-08-07 09:53  唐安  阅读(544)  评论(0编辑  收藏  举报