Java中使用try...catch以及try...catch...finally捕获异常

本文详细介绍了Java中如何使用try-catch语句块进行异常处理,包括处理单一异常和多重异常的情况,并强调了子类异常先于父类异常处理的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

try{
  //一些会抛出异常的代码
}catch(Exception e){
  //处理该异常的代码块
}

比如我们写一个接受用户输入年龄的功能:

        try{
            System.out.println("请输入你的年龄:");
            Scanner input = new Scanner(System.in);
            int age = input.nextInt();
            System.out.println("10年后你"+(age+10)+"岁");
        }catch (InputMismatchException e){
            System.out.println(e);
        }

注意age是int类型,如果我们输入的不是合法的类型,比如输入"10"或者12.22,那么程序就会发生异常,进入catch段。
System.out.println(e);打印结果就是:java.util.InputMismatchException

如果try会抛出很多种类型的异常?

        Scanner input = new Scanner(System.in);
        try{
            System.out.println("请输入第一个数:");
            int one = input.nextInt();
            System.out.println("请输入第一个数:");
            int two = input.nextInt();
            System.out.println("2个数相除的结果为:" + one/two);
        }catch (InputMismatchException e){
            System.out.println("你应该输入整数");
        }catch (ArithmeticException e){
            System.out.println("除数不能为0");
        }catch (Exception e){
            System.out.println(e);
        }

注意事项:顺序问题。
先子类后父类的顺序来编写多重catch语句块。

当程序出现异常的时候,会就近寻找批判的异常处理程序。而子类继承于父类,针对父类的异常处理程序,对于子类也是适用的。

这里写图片描述
IDE就提示我们这些写是不对的。

处理完异常之后的善后工作

很的时候我们在处理完异常之后,还需要比如说:关闭连接

        try {

        }catch (Exception e){

        }finally {
            // 善后工作
        }
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值