一个try catch 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 正解
想用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 正解