异常处理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


学习目标:

异常处理


1.Exception–>可以由程序解决

1>运行时异常/非受查异常
    程序运行时抛出的异常
2>编译时异常/受查异常
    程序编译时的异常

2.Error–>由程序员自己解决

多练习,尽量少出现这种异常。

3.java处理异常的语法

try{
	//可能出现异常的代码
}catch(){
	捕获try当中可能出现的异常。
}finally{
	
}

catch:当程序抛出异常时,由catch块进行捕获,程序自己来处理异常。 这样导致的结果是,程序会继续向下执行。
finally:finally代码肯定会被执行,所以经常做一些善后工作比如关闭资源

用catch处理异常的代码

public static void main1(String[] args) {
        int[] array = {1, 2, 3};

        try {
            System.out.println(array[4]);
            System.out.println("不会被执行");
        } catch (NullPointerException e) {
            e.printStackTrace();
            System.out.println("捕获到空指针异常");
        }catch (ArrayIndexOutOfBoundsException e) {
            e.printStackTrace();
            System.out.println("捕获到数组越界异常");
        }finally {
            System.out.println("finally代码肯定会被执行,所以经常做一些善后工作比如关闭资源");
        }

        try {
            System.out.println(array[4]);
        } catch (ArrayIndexOutOfBoundsException|ArrayStoreException e) {
            e.printStackTrace();
            System.out.println("捕获到数组越界异常");
        }catch (NullPointerException e) {
            e.printStackTrace();
            System.out.println("捕获到数组越界异常");
        }catch (Exception e) {
            e.printStackTrace();
            System.out.println("捕获到Exception界异常");
        }
        System.out.println("hello");

    }
由catch捕捉异常,程序会继续向下执行。

不用catch处理异常的代码

public static void main2(String[] args) {
        int[] array = {1, 2, 3};
        System.out.println(array[4]);// 1
        System.out.println("hello");
    }
会直接杀死程序,不会往下进行

用try catch处理异常需要注意的问题

1.catch块当中,一定要捕获相应的一场,如果程序抛出的异常在catch块当中,不能被捕获,那么就会交给Jvm处理 
2.可以通过catch来捕获多个异常。
3.不建议直接捕获exception。
4.finally快当中的代码,终究会被执行。不建议在finally当中,出现return语句。

4.抛出异常

throw  一般抛出某个你想抛出的异常(自定义的异常)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值