回 帖 发 新 帖 刷新版面

主题:C#问题=

using System;
using System.IO;
class t
{
    public static void Main()
    {
        FileStream he;

        try{
        he=new FileStream("helun.txt",FileMode.Open);
        }
        catch
        {Console.WriteLine("cannont open the file ");}
        byte []buf=new byte [100];
          he.Read(buf,0,10);

        int i;
        for(i=0;i<30;i++) 
            Console.Write(buf[i]);
    }
}
请问一下,为什么编绎通不过呢?提示是使用了局部变量'he'。请高手指教

回复列表 (共4个回复)

沙发

using System;
using System.IO;
class t
{
    public static void Main()
    {
        FileStream he;

        try{
        he=new FileStream("helun.txt",FileMode.Open);
         byte []buf=new byte [100];
         he.Read(buf,0,10);
         int i;
        for(i=0;i<30;i++) 
            Console.Write(buf[i]);
        }
        catch
        {Console.WriteLine("cannont open the file ");}
       
    }
}

板凳

原因是在try中定义的he在catch中不能访问。

3 楼

using System;
using System.IO;
class t
{
    public static void Main()
    {
        
        try{
         FileStream he;

        he=new FileStream("helun.txt",FileMode.Open);
         byte []buf=new byte [100];
         he.Read(buf,0,10);
         int i;
        for(i=0;i<30;i++) 
            Console.Write(buf[i]);
        }
        catch
        {Console.WriteLine("cannont open the file ");}
       
    }
}

4 楼

我顶二,四楼。。。。
楼主的异常还要好好看看。。。

我来回复

您尚未登录,请登录后再回复。点此登录或注册