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

    xiaoxiao2021-04-19  78

    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 { // 善后工作 }
    转载请注明原文地址: https://ju.6miu.com/read-675826.html

    最新回复(0)