异常和异常体系
java异常体系
throwable:error:线程死锁,内存溢出
excepiton:rumtimeException运行时异常:非检查异常
检查异常:文件异常IOException,数据库异常SQLException
runtimeException:NullPointerException 空指针异常,ArrayIndexOfBoundException 数组下标越界,ClassCastException 类型转换异常,ArithmeticException 算术异常
java虚拟机自动捕获,代码有问题
2.使用try-catch-finally实现异常处理
try{
//一些会抛出异常的方法
}catch(Exception e){
//处理该异常的代码块
}
try会抛出很多类型的异常,会用到多重catch块
先小后大:先子类后父类
try{
}catch(){
}cathc(){
}
子类
try{
}catch(){
}catch(){
}
finally{善后处理块,关闭连接,释放资源
//最终都会执行的代码
}
try语句块不可以独立存在,必须与catch或finally块共存
多重catch语句块中,异常类型,必须子类在前父类在后
3. java中异常的抛出以及自定义异常
throw
throws
publi void divide (int one ,int two) throws Exception{
if(two==0)
throw new Excepiton("两数相除,除数不能为0")
}
自定义异常
class 自定义异常类 extends 异常类型(Exception或其子类)
4. java中的异常链