A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 michael_wlq 于 2015-9-1 11:37 编辑

在异常处理过程中,throw单独存在时,throw语句下面不能再定义执行语句,因为执行不到会编译报错。【注意】类似的还有continue、break、return等,这些语句后面都不能直接再添加语句。

示例1:
class Demo {
        public static void main(String[] args) {
                try {
                    /*把异常封装成一个单独的showExce()方法,该方法可能会抛出异常,也可能不抛出,
                      所以后面的语句可以正常执行,该程序的输出结果为:BCD
                    */
                        showExce();
                        System.out.print("A");
                } catch(Exception e) {
                        System.out.print("B");
                } finally {
                        System.out.print("C");
                }
                System.out.println("D");
        }
        public static void showExce()throws Exception {
                throw new Exception();
        }
}

----------------------------------------------------------------------------------------------------------------------------
示例2:
class Demo {        
        public static void func() {
                try {
                        //该语句肯定会抛出异常,下面的语句肯定不会得到执行,所以会编译失败。
                        throw new Exception();
                        System.out.println("A");
                } catch(Exception e) {
                        System.out.println("B");
                }
        }
        public static void main(String[] args) {
                try {
                        func();
                } catch(Exception e) {
                        System.out.println("C");
                }
                System.out.println("D");
        }
}
//编译失败。 因为打印“A”的输出语句执行不到。
记住:throw单独存在,下面不要定义语句,因为执行不到。


3 个回复

正序浏览
学习了。。。
回复 使用道具 举报

加油 加油
回复 使用道具 举报
不错 赞一个
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马