首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

一个try catch finally的有关问题

2012-01-29 
一个try catch finally的问题想用try来捕获打开文件时的异常,为什么声明的StreamReaderdin在finally里不

一个try catch finally的问题
想用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 '

                        }

[解决办法]
StreamReader din;

这里还没实例化 是个空引用
[解决办法]
din 应该在Try前头进行初始化
[解决办法]
StreamReader din;
try
{
din = File.OpenText( "d:\\test1.txt ");
}
catch (FileNotFoundException ex)
{
MessageBox.Show(ex.Message);

}

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

}

[解决办法]
楼主这样试试:
StreamReader din=null;
[解决办法]
Raya 正解

热点排行