您的位置:程序门 -> .net技术 -> c#



一个try catch finally的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


一个try catch finally的问题[已结贴,结贴人:shjqk]
发表于:2007-02-28 14:45:54 楼主
想用try来捕获打开文件时的异常,为什么声明的     streamreader   din;
在finally里不能使用?
应该怎么做?


                  streamreader   din;
                        try
                        {
                                din   =   file.opentext( "d:\\test1.txt ");
                        }
                        catch   (filenotfoundexception   ex)
                        {
                                messagebox.show(ex.message);

                        }

                        finally
                        {
                                din.close();     //为什么报   use   of   unassigned   local   variable   'din '

                        }
发表于:2007-02-28 14:47:151楼 得分:2
streamreader   din;

这里还没实例化   是个空引用
发表于:2007-02-28 14:49:052楼 得分:1
din   应该在try前头进行初始化
发表于:2007-02-28 15:00:573楼 得分:0
那要在try外面就实例化吗   streamreader   din   =   file.opentext( "d:\\test1.txt ");
我怎么来捕获这个打开文件时可能产生的错误?
发表于:2007-02-28 15:11:104楼 得分:1
streamreader   din;
                        try
                        {
                                din   =   file.opentext( "d:\\test1.txt ");
                        }
                        catch   (filenotfoundexception   ex)
                        {
                                messagebox.show(ex.message);

                        }

                        finally
                        {
                                if   (din   !=   null)
                                        din.close();    

                        }
发表于:2007-02-28 15:28:015楼 得分:0
planfore(你伤害了我,还一笑而过!)
这样编译还是报错的.这个错误是在编译时就有的
发表于:2007-02-28 15:46:126楼 得分:0
关注一下,请大家帮忙看看这个100分的问题,网址:
http://community.csdn.net/expert/topic/5366/5366610.xml?temp=.5854761
发表于:2007-02-28 15:52:117楼 得分:5
楼主这样试试:
streamreader   din=null;
发表于:2007-02-28 17:51:038楼 得分:1
raya   正解
发表于:2007-02-28 17:54:529楼 得分:0
谢谢!


快速检索

最新资讯
热门点击