什么是异常

java异常的父类是Throwable,Throwable有俩个子类一个是Error,一个是Exception
Error表示错误:是程序无法解决的问题,不是由程序员导致的,是很严重的问题
Exception表示异常:是由程序员导致的问题,是小的问题,通过调程序可以解决
Exception有分为俩种,一个是检查性异常,另一个是非检查性异常
检查性异常:代码写出来就会直接报错,需要提前进行预处理
              范围:RuntimeExceotion及其子类以外的其他类
非检查性异常:代码写出来不会报错,但是会在进行时报错
              范围:RuntimeException及其子类
处理异常的方式有三种1.声明异常2捕获异常3.抛出异常

我们来讲一下捕获异常(try-catch)

try{

这个里面写可能出现异常的代码

}

try不能单独出现

catch(){

里面写处理异常的代码

}

catch后面可以跟多个catch,但是父异常不能写在子异常前面

可以在catch后面加上finally{

不管try代码块里的代码是否发生异常,finally代码块里的代码都会执行

finally代码块中写的代码都是受保护(一定会执行)的代码

}

throws声明异常
异常发生时使用声明会将异常抛给主调方法,如果主调方法还不处理异常会继续向上抛出
直到到了main方法,如果还不处理就会发生宕机,程序停止运行。如果其中使用了catch
处理异常,那么后续调用就不会再发生异常了。代码如下
public class Exceotion{
public void method1() throws ClassNotFoundException {
   Class.forName("com.haina365.Lesson15.ExceotionTest03");
}
public void method2()throws ClassNotFoundException{
    method1();
}
public void method3(){
    try{
        method2();
    }catch (ClassNotFoundException e){
        e.printStackTrace();
    }
}
public void method4(){
    method3();
}
public static void main(String[] args) {

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值