think in java笔记:Lost Exception

来源:互联网 发布:小米5数据在哪备份 编辑:程序博客网 时间:2024/06/05 05:55

think in java笔记:Lost Exception

有特定的情况下会发生exception根本报不出来.
1. try{}中报exception,但是不catch,然后finally抛另外一个exception,这时候try中的exception就会完全看不到了
2. try{}抛exception,但是finally中是return,这种情况下也是完全报不出来

具体代码如下:

package com.skyon;class VeryImportException extends Exception {    public String toString(){        return "A very important exception!";    }}class HoHumException extends Exception{    public String toString(){        return "A trivial exception";    }}public class LostMessage {    void f() throws VeryImportException{        throw new VeryImportException();    }    void dispose() throws HoHumException{        throw new HoHumException();    }    /*      public static void main(String[] args) {        try{            LostMessage lm = new LostMessage();            try{                lm.f();            }finally{                lm.dispose();            }        }catch(Exception e){            System.out.println(e);        }    }    输出:    A trivial exception    */    public static void main(String[] args) {        try{            throw new RuntimeException();        }finally{            System.out.println("d");            return;        }    }    /*     *输出:     *d     *    */}
0 0
原创粉丝点击