【慕课笔记】第一章 异常与异常处理 第2节 使用try...catch...finally实现异常处理

来源:互联网 发布:nba1415赛季总决赛数据 编辑:程序博客网 时间:2024/06/10 02:36

第2节 使用try...catch...finally实现异常处理


处理异常:

try{

//一些会抛出异常的方法

}catch(Exception e){

//处理该异常的代码块

}finally{

//最终将要执行的一些代码,例如关闭连接等善后工作

}


try{

//一些会抛出异常的方法

}catch(Exception e){

//处理该异常的代码块

}catch(Exception2 e){

//处理Exception2的代码块

}...(n个catch块)...{

}

finally{

//最终将要执行的一些代码,例如关闭连接等善后工作

}



首先,抛出异常的方法会终止执行

然后,程序的控制权将移交给catch块中的异常处理程序

catch块中根据不同的情景给出处理


try{System.out.print("请输入你的年龄:");Scanner input=new Scanner(System.in);int age=input.nextInt();System.out.println("十年后你"+(age+10)+"岁");    }catch(InputMismatchException e){System.out.println("你应该输入整数!!!");    }System.out.println("程序结束啦");

如果try中的方法抛出很多种类型的异常怎么办?

用多重catch块的方法。如下:如果第一个数输入的是非整数类型,由第一个catch块捕获并处理;如果输入的是2和0,就会被第二个catch块捕获并处理。

Scanner input=new Scanner(System.in);try{System.out.print("请输入第一个数:");int one=input.nextInt();System.out.print("请输入第二个数:");int two=input.nextInt();System.out.println("两数相除结果为:"+one/two);}catch(InputMismatchException e){System.out.println("你应该输入整数!!!");}catch(ArithmeticException e){System.out.println("除数不能为0");}catch(Exception e){System.out.println("我是不知名异常"):}System.out.println("程序结束啦");



注意:顺序问题——先子类后父类的顺序编写多重catch语句



0 0
原创粉丝点击