您的位置:首页 > 编程语言 > Java开发

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

2017-04-14 16:36 549 查看
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 {
// 善后工作
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: