[ Foro de C# ]

Excepcioes. Parámetros de catch.

17-Mar-2010 07:57
Jesús S.
1 Respuestas

¡Hola!

En los apuntes sobre ficheros se trata de las excepciones.

En el ejemplo 75 se pone: 'catch (Exception exp)' y posteriormente 'exp.Message'.

En el ej. 76: 'catch (PathTooLongException e)' y también 'catch( IOException e)' y luego 'e.Message'.

La primera palabra en el paréntesis de 'catch' parece que debe ser elegida de entre un grupo de palabras reservadas que desconozco con 'Exception' al final. La segunda da la impresión de que puede ser cualquiera. Es como si la segunda fuese definida como perteneciente a la clase de la primera, aunque en el ejemplo 76 se define 'e' dos veces.

¿Cuáles son las palabras que puedo utilizar en el primer término? ¿Y en el segundo? ¿Qué palabras tendría que usar para captar una excepción matemática?

Saludos.


19-Mar-2010 20:55
Nacho Cabanes (+84)

Lo que hay entre paréntesis cuando "atrapas" (catch) una excepción es el tipo de excepción y la variable en que quieres guardarla (igual que cuando declaras cualquier variable: "int x").

- Si no sabes el tipo exacto de excepción que podrías tener que atrapar, puedes indicar que quieres atrapar una excepción genérica (Exception).

- Si hay varios tipos de errores que quieres tratar por separado, es preferible indicar el tipo de excepción concreta que quieres analizar en cada caso (por ejemplo IOException).

Hay muchos tipos de excepciones, de modo que la única forma razonable de tratar cada posible caso por separado es consultar en la referencia de MSDN (Microsoft Developer Network) la ayuda concreta de cada orden que puede generar problemas, para ver cómo se llaman las excepciones asociadas a esa orden.

La forma más sencilla de conseguirlo es simplemente una búsqueda en Google indicando las palabras MSDN, C# y la orden que te interesa. Por ejemplo

msdn c# opentext

o bien

msdn c# convert

o si lo prefieres, añade la palabra "exception" en la búsqueda para ir justo a los detalles más difíciles de recordar:

msdn c# opentext exception

(Ahora que lo dices, quizá debiera incluir en ese apartado del curso los tipos de excepciones que pueden generar las órdenes que se han usado hasta el momento, para que el texto sea más autocontenido).






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)