Java问题异常

Java异常

异常父类 : Throwable;

异常的捕获:
    try{
        //有可能是有异常的指令
    }catch(Exception e){
        //处理异常
    }finally{
        //最后做的事情
    }

finally可以省略,针对一段代码指令中如果有可能有多个异常,那么可以多加几个catch

try{
        //有可能是有异常的指令
    }catch(异常1 e){
        //处理异常
    }catch(异常2 e){
        //处理异常
    }
    ...
    finally{
        //最后做的事情
    }

多个catch的情况下,catch后面的异常依从从小到大(孙子到儿子到自己)

异常的声明

可以在方法名后面(参数列表括号后,方法体之前)用throws语句声明有可能抛出的异常

public void test(...) throws E1,E2,E3,...{

    }

    public int div(int a, int b) throws ArithmeticException{
        int c = a / b;
        return c;
    }
    public void test(...) throws E1,E2,E3,...{

    }

    public int div(int a, int b) throws ArithmeticException{
        int c = a / b;
        return c;
    }

注意:在继承关系中子类抛出的异常只能比父类抛出的异常小或者跟父类一样

    public class A {

        public void test() throws RuntimeException{

        }

    }

    public class B extends A{

        @Override
        public void test() throws NullPointerException {
            super.test();
        }

    }
异常的抛出

也可以在可能出现异常的代码指令中,使用throw语句,抛出一个具体的异常

if (b == 0) {
        throw new ArithmeticException("被除数为0");
        }

以上Exception 、ArithmeticException、RuntimeException、NullPointerException 皆是问题的名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值