Java 异常整理

来源:互联网 发布:php添加自定义菜单 编辑:程序博客网 时间:2024/05/16 13:53

异常(Exception:是程序本身可以处理的异常

在java中,有专门处理异常的类:Exception 类,在java.lang包下。

java提供了两种异常机制。一种是运行时异常(RuntimeExepction),一种是非运行时异常或者编译异常(checked execption)。

       运行时异常:都是RuntimeException类及其子类异常,如NullPointerException(空指针异常)、IndexOutOfBoundsException(下标越界异常)等,这些异常是不检查异常,程序中可以选择捕获处理,也可以不处理。这些异常一般是由程序逻辑错误引起的,程序应该从逻辑角度尽可能避免这类异常的发生。运行时异常的特点是,在编译期间,Java编译器不会检查它,如果在程序中有RuntimeException,在编译期间是检查不出来的。(编译期间价检查的是j程序在java语法方面有没有错误)

       非运行时异常或者编译异常:是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。如IOException、SQLException等以及用户自定义的Exception异常,一般情况下不自定义检查异常

常见的运行时异常如下:

ClassNotFoundException 未找到类异常

ArithmeticException 数学运算异常
ArrayStoreException, 数组存储异常
BufferOverflowException, 缓存溢出异常
FileNotFoundException 文件未找到异常
EmptyStackException, 空栈异常
EventException, 事件异常
IllegalArgumentException, 不合法的参数异常
IndexOutOfBoundsException, 越界异常
JMRuntimeException, 虚拟机运行异常
NullPointerException, 空指针异常

常见的异常以及出现原因:

1.NullPointerException(空指针异常):

空指针异常,一般是调用了没有被初始化的对象,或者干脆就没有这个对象存在。

2.ClassNotFoundException (未找到类异常):

未找到类,可能是因为类的名称或者路径不对,所以程序在运行的时候找不到这个类,也很可能就不存在这个类。在很多实际开发中,开发人员在向SVN上传代码时少提交了几个类,就可能在QA测试的时候出现这个异常,因为根本找不到这个类。

3.ArithmeticException (数学运算异常

一般都是数学公式写错了,比如说除以0了。

4.IndexOutOfBoundsException( 越界异常

一般出现在使用数组和list的时候。

数组越界很明显是因为调用了超过数组下界的元素,因此造成越界,出现的异常类是ArrayIndexOutOfBoundsException;

list越界,是在list初始化的时候,给定了一个长度,在调用的时候,如果超过了这个长度也会造成越界。

 时间有限,先更新至此。




                                             
0 0