2010-05-06 64 views
12

Escribí un código en asp.net que leía datos de archivos y dibujaba un gráfico.Se produjo una excepción no controlada del tipo 'System.StackOverflowException' en mscorlib.dll

Se trabajó, pero después de un tiempo cuando ejecuto el programa, esta excepción surgen

"Una excepción no controlada del tipo 'System.StackOverflowException' en mscorlib.dll"

en este declaración en el código:

if (File.Exists(fName)) <----(here is the exception) 
{ 
    stream = File.Open(fName, FileMode.Open); 
    g_day = Deserialize(stream); 
    stream.Close(); 
    int cn = 0; 
    if (g_day.Values.Count != 0) 
     cn = g_day.Values[g_day.Values.Count - 1].Value; 
    Label1.Text = cn.ToString(); 
} 
+0

Utilice la función de formato del editor para que podamos leer su código. – mwilson

+1

¿Este fragmento de código que proporcionó es parte de su función 'Deserialize()'? –

+1

¿qué versión de .NET? Además, ¿puedes publicar el seguimiento de la pila? – Paolo

Respuesta

36

Su función probablemente se está llamando recursivamente un número infinito de veces. A veces, esto sucede indirectamente (usted llama a un método en el BCL y lo llama a su código, y esto se repite). File.Exists probablemente no sea el culpable. Mire su pila de llamadas cuando ocurra el error.

+0

¡excelente! solución rápida – Nirman

+0

¡Así que ella acaba de preguntar y se fue! ¡Respuesta perfecta! –

Cuestiones relacionadas