空指针异常
NullPointerException
数组 引用没有指向实体,却在操作实体的元素时。
java.lang.NullPointerException
空指针异常:
产生原因:堆内存中的地址不存在,然后区访问,就报这样的错误。
找不到对应的堆内存的元素
现象:对象为null
常见以Exception结尾的异常
NullPointerException 访问Null对象的方法
IlleglArgumentException 接收非法参数
ClassNotFoundException 不能加载需要的类
ArithmeticException 算术运算异常,如除数为零
ArrayIndexOutOfBoundsException 数组小于或大于数组长度
InputMisMatchException 接收的数据类型与实际输入的类型不匹配
NumberFormatException 格式化数据库
IOException 文件读写异常
当异常发生时,发生异常的语句代码会抛出一个异常类的实例化对象,之后此对象与 catch 语句中的类的类型进行匹配,然后在相应的 catch 中进行处理。
**其他的异常 **
java中内置的运行时异常类以及作用:
ArithmeticException:出现异常的计算条件时,就抛出此异常。例如 9/0.
ArrayIndexOutOfBoundException:用非法的索引访问数组的时候抛出的异常。比如找 -1 位置,或者是明明最大索引是8, 找的时候却来了个10.
ArrayStoreException:试图将一个错误的对象存储到一个对象数组时抛出。
ClassCastException:试图将对象强转为不是实例的子类时抛出该异常
IllegalArgumentException:非法参数异常。表明向方法传递了一个不合法或者不正确的参数。
IllegalMonitorStateException:跑出的异常表明某一线程已经试图等待对象的监视器,或者试图通知其他正在等待的监视器而本身却没有指定监视器的线程。
IllegalStateException:在非法或者不适当的时间调用方法时所产生的信号。换句话说,即java环境或者java应用程序没有处于请求操作所要求的适当状态下。例如sdk没有初始化,你就调用了里面的核心方法。时常会要抛出这样的异常。
IllegalThreadStateException:线程没有处于请求操作所要求的的状态下抛出的异常。比如 调用了start()方法之后,线程执行完了,又调用了一次start()就会抛出这样的异常。
IndexOutOfBoundsException: 指示某排序索引超出范围时抛出。
NegativeArraySizeException:如果应用程序视图创建大小为负数的驻足,就会抛出该异常。
NullPointerException:这个是相当常见了,空指针异常。当程序在需要对象的地方,这个对象却为null,就会抛出该异常。
NumberFormatException:数据类型转换错误。
SecurutyException:由安全管理器抛出的异常。
StringIndexOutOfBoundsException:由String的方法抛出,指示索引或者为负数,或者超出字符串的大小。
UnsupportedOperationException:当不支持请求操作的时候,抛出该异常。
java中内置的编译时异常类的作用:
ClassNotFoundException:应用程序视图加载类的时候找不到相应的类,抛出该异常。
CloneNotSupportedException: 当调用Object类中的clone方法克隆对象的时候,但是该对象的类无法实现Cloneable接口时,抛出该异常。
IllegalAccessException:拒绝访问一个类的时候,抛出该异常。
InstantiationException:当驶入使用class类中的newInstance方法创建一个实例的时候,而制定的对象是一个接口或者是一个抽象类无法被实例化的时候,就会抛出该异常。
InterruptedException:一个线程被另外一个限额航中断抛出该异常
NoSuchFieldException:请求的变量不存在
NoSuchMethodException:请求的方法不存在。