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

问题:下面两个关闭流方式哪个是对的?就是判断null的代码应该放在try里面还是外面。我看视频里两种都出现过
        方式1:
finally{
                                if(bufw!=null)
                                            try{
                                                                bufw.close();
                                                        }
                                        catch(IOException e){
                                                        throw new RuntimeException("写出关闭失败");
                                                    }
                                if(bufr!=null)
                                                try{
                                                                    bufr.close();
                                                            }
                                                catch(IOException e){
                                                            throw new RuntimeException("读取关闭失败");
                                            }               
                    }
方式2:
        finally{
                                        try{
                                                        if(bufw!=null)
                                                                bufw.close();
                                                    }
                                        catch(IOException e){
                                                        throw new RuntimeException("写出关闭失败");
                                                    }
                                        try{
                                                        if(bufr!=null)
                                                                bufr.close();
                                                    }
                                        catch(IOException e){
                                                        throw new RuntimeException("读取关闭失败");
                                }               
                }       

5 个回复

倒序浏览
一般都是第二个
回复 使用道具 举报

那就是说两种方式都对的吗
回复 使用道具 举报
没人回答下吗
回复 使用道具 举报
try 里面放的是有可能发生异常,需要被检测的代码,所以只需要判断try里面的代码是否有可能发生异常。所以严格讲,应该第一种更专业!
回复 使用道具 举报
额,新人,旁观
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马