异常匹配"/>
异常匹配
这篇文章为大家讲解异常匹配
我想我需要讲清楚一个问题就是:抛出异常后,如果有多个异常处理程序,如何去进行选择?
(1)通常情况下,异常处理系统会按照代码的书写顺序找出“最近的”处理程序。
更多的查找的时候,其实并不要求抛出的异常同异常处理程序所声明的异常完全匹配。
这意味着:派生类的对象也可以匹配其基类的处理程序:
class Annoyance extends Exception{}class Sneeze extends Annoyance{}public class Human {public static void main(String[] args) {//Catch the exact type:try {throw new Sneeze();}catch(Sneeze e) {System.out.println("Caught Sneeze");}catch(Annoyance e) {System.out.println("Caught Annoyance");}//catch base type:try {throw new Sneeze();}catch(Annoyance a) {System.out.println("Caught Annoyance");}}
}
运行结果:
也就是说:如果决定在方法中
更多推荐
异常匹配
发布评论