比如我们写一个接受用户输入年龄的功能:
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
注意事项:顺序问题。 先子类后父类的顺序来编写多重catch语句块。
当程序出现异常的时候,会就近寻找批判的异常处理程序。而子类继承于父类,针对父类的异常处理程序,对于子类也是适用的。
IDE就提示我们这些写是不对的。
很的时候我们在处理完异常之后,还需要比如说:关闭连接
try { }catch (Exception e){ }finally { // 善后工作 }