对Throwable的处理

Java以严谨著称,对于checked异常,
1. 在出现异常的地方使用catch捕捉并忽略它
2. 直接抛出异常
对于第一种方法,有的时候很危险,异常有的时候必须被上层知道,如果有部分执行不正确,程序是需要停止的。第二种方法,会很麻烦,这样一层层调用,每层都要写异常相关的代码,会多很多的代码。
可以定义一个这样的方法对异常和错误进行处理:

    public static void  launderThrowable(Throwable t){
        if(t instanceof RuntimeException)
            throw  (RuntimeException)t;
        else if(t instanceof Error)
            throw (Error)t;
        else throw new RuntimeException(t);
    }

这样上层可以选择忽略对Throwalbe的相关捕捉,在程序运行不正确时,又可以停止程序运行。

<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>
发布了44 篇原创文章 · 获赞 37 · 访问量 22万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章