2011-01-29 2 views
0

У меня проблема с этим кодом; это вызвало исключение StackOverflowException. Ошибка произошла в строке StreamReader readFile = new StreamReader(path).StackOverflowException в конструкторе StreamReader

У кого-нибудь есть идея, как решить эту проблему? Спасибо.

public string[,] parseCSV(string path) 
{ 
    List<string[]> parsedData = new List<string[]>(); 
    try 
    { 
     using (StreamReader readFile = new StreamReader(path)) 
     { 
      string line; 
      string[] row; 
      baris = File.ReadAllLines(path).Length; 
      row = readFile.ReadLine().Split(','); 
      col = row.Length; 
      store = new string[baris, col]; 
      int i = 0; 
      int j = 0; 

      foreach (string kolom in row) 
      { 
       store[i, j] = kolom; 
       j++; 
      } 
      i=1; 

      while ((line = readFile.ReadLine()) != null) 
      { 
       row = line.Split(','); 
       j = 0; 
       foreach (string kolom in row) 
       { 
        store[i, j] = kolom; 
        j++; 
       } 
       i++; 
       parsedData.Add(row); 
      } 
     } 
    } 
    catch (Exception e) 
    { 
     //MessageBox.Show(e.Message); 
    } 
    return store;   
} 
+0

Какой «путь» вызывает исключение? – abatishchev

+4

Когда возникает ошибка, покажите окно стека вызовов в среде IDE и сообщите нам, как оно выглядит: какая функция называется parseCSV и сколько раз? Каково значение в переменной «путь»? Является StreamReader классом среды .NET или вы создали свой собственный SteramReader? – BlueMonkMN

+0

Конструктор StreamReader, который вы используете, никогда не генерирует исключение StackOverflowException. Можете ли вы опубликовать трассировку стека? –

ответ

0

К сожалению, stackoverflow не представляет цепочку вызовов.

Проверяйте звонящего и вызывающего абонента этого парня до конца.

Этот парень не может выбрасывать stackoverflow самостоятельно.