Day11 接口与异常处理

2016-07-29  本文已影响11人  _简书

接口interface:与类并行的一个概念

异常处理

如何处理异常

处理的方式一:

try{* //可能出现异常的代码* }
catch(Exception1 e1){* //处理的方式1* }
catch(Exception2 e2){* //处理的方式2* }
finally{* //一定要执行的代码* }

注:
1.try内声明的变量,类似于局部变量,出了try{}语句,就不能被调用
2.finally是可选的
3.catch语句内部是对异常对象的处理:* >getMessage(); printStackTrace();*
4.可以有多个catch语句,try中抛出的异常类对象从上往下去匹配catch中的异常类的类型,一旦满足,就执行catch中的代码。执行完,就跳出其后的多条catch语句
5.如果异常处理了,那么其后的代码继续执行
6.若catch中多个异常类型是"并列"关系,孰上孰下都可以。
若catch中多个异常类型是"包含"关系,须将子类放在父类的上面,进行处理。否则报错!
7.finally中存放的是一定会被执行的代码,不管try中、catch中是否仍有异常未被处理,以及是否有return语句
8.try-catch是可以嵌套的。

处理方式二:在方法的声明处,显式的使用throws + 异常类型

抛出异常不在本方法内进行处理,而是由调用它的方法处理

public void method1() throws Exception1 e1,Exception2 e2
{//可能出现异常(尤其是编译时异常,一定要处理)}

public void method2() throws Exception1 e1,Exception2 e2
{method1();}
public void method3()
{try{method2();}
catch(Exception1 e1){System.out.println(e1.getMessage());}
catch(Exception2 e2){System.out.println(e2.getMessage());}}
public static void main(String[] args)
{对象1.method3();//不会再出现上述的Exception1和Exception2的异常!}

如何手动的抛出一个异常?
上一篇下一篇

猜你喜欢

热点阅读