异常处理

异常关键字

try ,catch ,finally ,throw ,throws

异常举例

public static void main(String[] args) {
        int a=1;
        int b=0;

        try{//监控区域
            System.out.println(a/b);
        }catch(ArithmeticException e){//捕获异常,参数为想要捕获的异常种类,catch可以继续叠加
            System.out.println("程序异常,b不能为0!");
        }finally{//收尾
            System.out.println("结束");
        }

可以继续使用catch捕获异常,类似if else。属于层层递进关系。

finally用于处理后续收尾工作,一般用在要求关闭输入输出流的代码部分,以节省计算机资源。

异常举例

    if (b==0){
        throw new ArithmeticException();//主动抛出异常,一般在方法里使用
    }

什么都不做依旧会出现这个抛出这个异常。

异常举例

    public void test(int a,int b) throws ArithmeticException{
        if (b==0){
            throw new ArithmeticException();//主动抛出异常,一般在方法里使用
        }
    }

throws一般是当前代码无法处理该异常,向更高级抛出。

一般在调用这个方法的时候,放在try代码块里。

基本异常

其中Throwable为最高基本异常,任何异常都能被捕获到。

异常