常见的java异常有:
空指针异常类:NullPointerException
当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出 null等等。
类型强制转换异常:ClassCastException
假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出 该异常。该异常经常被称为强制类型转换异常。
数组下标越界异常:ArrayIndexOutOfBoundsException
当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
文件未找到异常:FileNotFoundException
当试图去引用一个路径下的某个文件而该路径下没有文件时,抛出该异常。
数字格式异常:NumberFormatException
当试图将一个String转换为指定的数字类型,而该字符串却不满足数字类型要求的格式时,抛出该异常。
数据库操作异常:SQLException
当执行一段SQL语句或该SQL不符合规则时抛出该异常。
输入输出流异常:IOException
Java语言提供两种异常处理机制:捕获异常和声明抛弃异常;
1)捕获异常:在Java程序运行过程中系统得到一个异常对象是,它将会沿着方法的调用栈逐层回溯,寻找处理这一异常的代码。找到能够处理这种类型异常的方法后,运行时系统把当前异常交给这个方法处理;如果找不到可以捕获异常的方法,则运行时系统将终止,相应的Java程序也将退出。捕获异常是通过try-catch-finally语句实现的。语法为:
try{
...
}catch(ExceptionName1 e){
...
}catch(ExceptionName2 e){
...
}
...
}finally{
...
}
2)声明抛弃异常:当Java程序运行时系统得到一个异常对象时,如果一个方法并不知道如何处理所出现的异常,则可在方法声明时,声明抛弃异常。声明抛弃异常是在一个方法声明中的throws子句中指明的。如:
public int read() throws IOException{
...
}
其中throws IOException就是声明抛弃异常,throws后可以跟多个异常类型。