2010-03-04 14 views
10

Tengo un código en mi controlador de errores que necesito probar contra un error realista. ¿Cómo puedo generar un error que tenga un seguimiento de pila completo y sea tan realista como un error de tiempo de ejecución?C# cómo generar un error adecuado rápidamente para propósitos de prueba

Estoy usando una captura general en una excepción. Por lo tanto, no necesita un tipo específico de excepción en este caso particular.

Gracias

Respuesta

15
object m = null; 
string s = m.ToString(); 

instantáneos NullReferenceException.

+0

impresionante, esto es exactamente el tipo de cosas que estaba buscando :) –

+0

1 para la NullReferenceException – MPritchard

+0

:(Golpeado a ella por 15 segundos – MPritchard

5

Una DivideByZeroException viene !:

int i = 0; 
int j = 1/i; 
1

Usted podría generar una excepción de referencia nula ... o una división por cero excepción.

15

¿Qué hay de

throw new Exception("this is a test"); 
8

Usted puede lanzar cualquier tipo de excepción de .NET llamando

throw new OutOfMemoryException(); 
throw new IndexOutOfRangeException(); 
throw new ArgumentNullException(); 

Los nombres de excepción pueden ser las excepciones dotnet. incluso puedes crear y lanzar tus propias excepciones específicas.

Para obtener una lista de las excepciones de CLR, en VS, haga clic en el menú de depuración y luego en el menú de excepciones.

-2

¿qué hay de la buena división anterior por cero?

5/0

+0

El compilador evita esto, por lo que nunca se convertirá en una excepción de tiempo de ejecución. – MeanGreen

-1

le recomiendo que pruebe el uso de un marco de burla, por ejemplo, Moq y Rhino Mocks y luego pasan la Excepción asociada que esperan atrapar. !

-1
throw new IndexOutOfRangeException(); 
+0

Si bien este fragmento de código puede resolver la pregunta, [incluyendo una explicación] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) realmente ayuda a mejorar la calidad de su publicación. Recuerde que usted está respondiendo la pregunta a los lectores en el futuro, y es posible que esas personas no sepan los motivos de su sugerencia de código. Por favor, intente no saturar su código con comentarios explicativos, ¡esto reduce la legibilidad tanto del código como de las explicaciones! – kayess

Cuestiones relacionadas