《Java 编程思想》学习笔记 11 | 通过异常处理错误

1.Throwable类型是异常类型的根类

2.try块与异常处理程序catch

  1. 在一个方法中如果抛出了异常,那么该方法就会在抛出异常的过程中结束;要想让该方法继续执行,那么就得在该方法中捕获异常:使用try块即可。
  2. 捕获(抛出的)异常之后当然就得处理异常,而catch就是异常处理程序:捕获异常之后,异常类型会作为参数与catch的参数进行匹配,匹配到了就跳转到相应的catch块中执行异常处理程序。并且catch可以有多个,跳转到其中一个执行之后便会停止(这与switch不同)。
try {

} catch(ExceptionType1 e1) {

} catch(ExceptionType2 e2) {

} catch(ExceptionType3 e3) {

} ...

3.通过继承Throwable来自定义一个异常类

通常自定义异常并不需要很复杂,甚至不需要类里面写任何代码,你只需要将自定义的异常的类名好好起一个就行了。

class MyException extends Throwable {} //自定义一个异常

public class Test {
    public void f() throws MyException { //异常说明
        throw new MyException();  //1.自己new一个异常并抛出
    }

    public static void main(String[] args) {
        Test t = new Test();
        try {
            t.f(); //2.抛出的异常被捕获
        } catch (MyException e) {
            System.out.println("抓到了个异常");  //3.对异常进行处理
        }
    }
}

4.异常说明

异常说明不是抛出异常,而是告诉客户端程序员某方法可能会抛出某种类型的异常:

    public void f() throws MyException { //异常说明,f()方法可能将会抛出MyException异常
        throw new MyException(); //果然抛出了异常。
    }

上面代码的第2行中果然抛出了异常,但也可以不抛出异常,因为编译器相信第1行代码的异常说明,并且真的相信用户能以抛出异常这种方式使用该方法。规定编译器这样认为的好处是:为异常先占个位置,以后就可以抛出这种异常而不用修改已有的代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值