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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 陈磊 黑马帝   /  2011-8-4 23:15  /  1698 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

以前看视频老师都没处理异常  今天做一点小东西的时候出了这么个问题  下面是代码[code=java]        public static void main(String[] args) {
                try {
                        Integer.parseInt("bbb");
                }catch(Exception e){
                        throw new RuntimeException("catch中的Exception");
                }finally{
                        Integer.parseInt("abc");
                        //throw new RuntimeException("finally中的Exception");
                }

        }

}[/code]上面代码的问题是如果finally里中也出现了异常的话catch中的异常就不会抛出,那么就无法捕获,怎样才能在finally也出现异常的情况下捕获catch里的异常呢?

4 个回复

倒序浏览
黑马网友  发表于 2011-8-5 02:17:53
沙发
你用的不是Ecilpse吧,若是,你这段代码它肯定会报错,它会好生的告诉你,哥们还有异常没捕捉。
也就是说如果Integer.parseInt("abc"); 有异常,那么也要在finally块内捕捉,这是个简单的异常嵌套问题。
回复 使用道具 举报
黑马网友  发表于 2011-8-5 02:41:32
藤椅
finally内也加try{}catch(){}语句进行捕捉
回复 使用道具 举报
黑马网友  发表于 2011-8-5 09:15:40
板凳
加个 override  行不行
回复 使用道具 举报
黑马网友  发表于 2011-8-5 09:28:24
报纸
public static void main(String[] args) {
                try {
                        Integer.parseInt("bbb");
                }catch(Exception e){
                        throw new RuntimeException("catch中的Exception");
                }finally{
                        try{
                                Integer.parseInt("abc");
                                //throw new RuntimeException("finally中的Exception");
                        }catch(Exception e){
                                throw new RuntimeException("catch中的Exception");
                        }
                }

        }

}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马