Excepciones generadas por el compilador (Guía de programación de C#)

Actualización: noviembre 2007

Common Language Runtime (CLR) de .NET Framework produce automáticamente algunas excepciones cuando se produce un error en operaciones básicas. La tabla siguiente muestra estas excepciones y sus condiciones de error.

Excepción

Descripción

ArithmeticException

Clase base de las excepciones producidas durante operaciones aritméticas, como DivideByZeroException y OverflowException.

ArrayTypeMismatchException

Se produce cuando una matriz no puede almacenar un elemento dado porque el tipo real del elemento es incompatible con el tipo real de la matriz.

DivideByZeroException

Se produce cuando tiene lugar un intento de dividir un valor integral por cero.

IndexOutOfRangeException

Se produce cuando tiene lugar un intento de indizar una matriz cuando el índice es menor que cero o se encuentra fuera de los límites de la matriz.

InvalidCastException

Se produce cuando tiene lugar un error en tiempo de ejecución en una conversión explícita de un tipo base a una interfaz o a un tipo derivado.

NullReferenceException

Se produce al intentar hacer referencia a un objeto cuyo valor es null.

OutOfMemoryException

Se produce cuando el intento de asignar memoria mediante el operador new da un error. Esto indica que la memoria disponible para Common Language Runtime se ha agotado.

OverflowException

Se produce cuando una operación aritmética en un contexto checked produce un desbordamiento.

StackOverflowException

Se produce cuando se agota la pila de excepciones debido a la existencia de demasiadas llamadas al método pendientes; normalmente, suele indicar un nivel de recursividad muy profundo o infinito.

TypeInitializationException

Se produce cuando un constructor estático produce una excepción sin que haya cláusulas catch compatibles para capturarla.

Vea también

Conceptos

Guía de programación de C#

Referencia

Excepciones y control de excepciones (Guía de programación de C#)

Control de excepciones (Guía de programación de C#)

try-catch (Referencia de C#)

try-finally (Referencia de C#)

try-catch-finally (Referencia de C#)