Java面试题:请问执行此段代码try的输出是什么?

作者: Arvin Chen 分类: Java面试题 来源: Break易站(www.breakyizhan.com)
try {
    throw new ExampleB("b")
} catch(ExampleA e){
    System.out.println("ExampleA");
} catch(Exception e){
    System.out.println("Exception");
}

输出:ExampleA。(根据里氏代换原则[能使用父类型的地方一定能使用子类型],抓取ExampleA类型异常的catch块能够抓住try块中抛出的ExampleB类型的异常)

 

class Annoyance extends Exception {}
class Sneeze extends Annoyance {}

class Human {

    public static void main(String[] args) 
        throws Exception {
        try {
            try {
                throw new Sneeze();
            } 
            catch ( Annoyance a ) {
                System.out.println("Caught Annoyance");
                throw a;
            }
        } 
        catch ( Sneeze s ) {
            System.out.println("Caught Sneeze");
            return ;
        }
        finally {
            System.out.println("Hello World!");
        }
    }
}

  •   本文标题:Java面试题:请问执行此段代码try的输出是什么? - Break易站
    转载请保留页面地址:https://www.breakyizhan.com/javamianshiti/2448.html

    发表笔记

    电子邮件地址不会被公开。 必填项已用*标注

    更多阅读