Módulo I- Introducción a la Programación en
la Plataforma .Net con C#
TEMARIO

CAPITULO III.- INTRODUCCIÓN AL
LENGUAJE DE PROGRAMACIÓN C#

  Manejo de Excepciones
  Lanzamiento de Excepciones
MANEJO DE EXCEPCIONES
¿Por qué se emplean excepciones?
   En ocasiones, cuando se ejecuta una porción de código no
   existen 100% de seguridad de que el mismo terminará
   satisfactoriamente y se hace imperioso capturar la
   excepción o error arrojado para evitar cierta inestabilidad
   en la aplicación. Sintaxis:
 try
  try
 {{
         ‘El código que puede producir el error
          ‘El código que puede producir el error
 }catch ([filtros opcionales o tipos de errores a capturar])
  }catch ([filtros opcionales o tipos de errores a capturar])
 {{
         ‘Código para cuando se produzca un error
          ‘Código para cuando se produzca un error
   [bloques catch adicionales]
    [bloques catch adicionales]
 }}
 Finally
  Finally
 {{
         ‘Código se ejecuta siempre aunque suceda o no un error
          ‘Código se ejecuta siempre aunque suceda o no un error
 }}
Ejemplo
Atributos de la Clase Exception

Atributo         Descripción
Message          Es el atributo más utilizado y contiene un string con la descripción del error
Source           Este atributo contiene un string que indica el objeto o aplicación que causo el error.
StackTrace       Este atributo es un string que contiene la pila de llamadas (call stack) desde el punto
                 donde se originó el error.
TargetSite       Este atributo es un string que contiene el nombre del método desde donde se generó la
                 excepción.
InnerException   Esta propiedad es un miembro de tipo Exception que puede ser utilizada para contener
                 una excepción adicional
HelpLink         Esta propiedad es un string que puede ser utilizada para almacenar información
                 adicional del error que se ha generado.
Data             Esta propiedad es de tipo object y permite almacenar información adicional acerca del
                 error.
Objetos Excepción

     Exception
     Exception

          SystemException
          SystemException

                 OutOfMemoryException
                 OutOfMemoryException

                  IOException
                  IOException
                 NullReferenceException
                 NullReferenceException

          ApplicationException
          ApplicationException
LANZAMIENTO DE EXCEPCIONES
Introducción
  C# incluye la instrucción throw, que
  permiten a los programadores lanzar
  excepciones cuando sea necesario y
  controlarlas convenientemente.
  Cuando necesita lanzar una excepción, el
  runtime ejecuta una instrucción throw y
  lanza una excepción definida por el sistema.
La instrucción throw
          Lanza una excepción apropiada
          Asigna a la excepción un mensaje
          significativo

     throw expression ;
     throw expression ;


(m i n u t o < 1 | | m i n u t o > = 6 0 ) {
  minuto < 1 || minuto >= 60) {
hr o w n e w I n v a l i d T i m e E x c e p t i o n ( m i n u t o
 row new InvalidTimeException(minuto                                 +
                                                                     +
                                               " no es un
                                                " no es un           minuto válid
                                                                      minuto válid
/ !! Not alcanzado !!
    !! Not alcanzado !!
Normas para el tratamiento de
excepciones
 Lanzamiento
    Evitar excepciones para casos normales o esperados
    Nunca crear ni lanzar objetos de clase Exception
    Incluir una cadena de descripción en un objeto
     Exception
    Lanzar objetos de la clase más específica posible
 Captura
    Ordenar los bloques catch de lo específico a lo general
    No permitir que salgan excepciones de Main
Proyecto
 Desarrollar una calculadora científica
 con las siguientes funcionalidades:
    Operaciones básicas: Suma, resta, multiplicación,
     división, potenciación y modulo.
    Calcular el factorial.
    Calculo de la raíz cuadrado.
    Calcular cuantos dígitos tiene un número y la suma de
     sus dígitos.
    Calculo de potenciación. Ej. 2 elevado a las 3= 8 y 2
     elevado a la 2 = 4.
    Evaluar si un número es : Primo, Perfecto, Par o
     impar, Negativo o positivo y
    Verificar si el numero esta dentro de la serie fibonacci.
Cont…
 Cada operación debe ser una opción en el menú principal
 de la calculadora (utilizar enum y switch). Un ejemplo del
 menú principal seria:
    Digite la opción que quiere utilizar: (La opción sería un número del
     teclado)
    Opción 1: Sumar
    Opción 2: Resta
    Opción 3: División
 Notas:
    Validación de los datos de entrada: No puede permitir entrada de
     caracteres, puede digitar números reales, es decir, con decimales.
     Manejo de excepciones.
    Todas las funcionalidades deben desarrollarse sin utilizar
     funciones matemáticas del lenguaje, por ejemplo: el factorial

6 excepciones

  • 1.
    Módulo I- Introduccióna la Programación en la Plataforma .Net con C#
  • 2.
    TEMARIO CAPITULO III.- INTRODUCCIÓNAL LENGUAJE DE PROGRAMACIÓN C#  Manejo de Excepciones  Lanzamiento de Excepciones
  • 3.
    MANEJO DE EXCEPCIONES ¿Porqué se emplean excepciones? En ocasiones, cuando se ejecuta una porción de código no existen 100% de seguridad de que el mismo terminará satisfactoriamente y se hace imperioso capturar la excepción o error arrojado para evitar cierta inestabilidad en la aplicación. Sintaxis: try try {{ ‘El código que puede producir el error ‘El código que puede producir el error }catch ([filtros opcionales o tipos de errores a capturar]) }catch ([filtros opcionales o tipos de errores a capturar]) {{ ‘Código para cuando se produzca un error ‘Código para cuando se produzca un error [bloques catch adicionales] [bloques catch adicionales] }} Finally Finally {{ ‘Código se ejecuta siempre aunque suceda o no un error ‘Código se ejecuta siempre aunque suceda o no un error }}
  • 4.
  • 5.
    Atributos de laClase Exception Atributo Descripción Message Es el atributo más utilizado y contiene un string con la descripción del error Source Este atributo contiene un string que indica el objeto o aplicación que causo el error. StackTrace Este atributo es un string que contiene la pila de llamadas (call stack) desde el punto donde se originó el error. TargetSite Este atributo es un string que contiene el nombre del método desde donde se generó la excepción. InnerException Esta propiedad es un miembro de tipo Exception que puede ser utilizada para contener una excepción adicional HelpLink Esta propiedad es un string que puede ser utilizada para almacenar información adicional del error que se ha generado. Data Esta propiedad es de tipo object y permite almacenar información adicional acerca del error.
  • 6.
    Objetos Excepción Exception Exception SystemException SystemException OutOfMemoryException OutOfMemoryException IOException IOException NullReferenceException NullReferenceException ApplicationException ApplicationException
  • 7.
    LANZAMIENTO DE EXCEPCIONES Introducción C# incluye la instrucción throw, que permiten a los programadores lanzar excepciones cuando sea necesario y controlarlas convenientemente. Cuando necesita lanzar una excepción, el runtime ejecuta una instrucción throw y lanza una excepción definida por el sistema.
  • 8.
    La instrucción throw Lanza una excepción apropiada Asigna a la excepción un mensaje significativo throw expression ; throw expression ; (m i n u t o < 1 | | m i n u t o > = 6 0 ) { minuto < 1 || minuto >= 60) { hr o w n e w I n v a l i d T i m e E x c e p t i o n ( m i n u t o row new InvalidTimeException(minuto + + " no es un " no es un minuto válid minuto válid / !! Not alcanzado !! !! Not alcanzado !!
  • 9.
    Normas para eltratamiento de excepciones Lanzamiento  Evitar excepciones para casos normales o esperados  Nunca crear ni lanzar objetos de clase Exception  Incluir una cadena de descripción en un objeto Exception  Lanzar objetos de la clase más específica posible Captura  Ordenar los bloques catch de lo específico a lo general  No permitir que salgan excepciones de Main
  • 10.
    Proyecto Desarrollar unacalculadora científica con las siguientes funcionalidades:  Operaciones básicas: Suma, resta, multiplicación, división, potenciación y modulo.  Calcular el factorial.  Calculo de la raíz cuadrado.  Calcular cuantos dígitos tiene un número y la suma de sus dígitos.  Calculo de potenciación. Ej. 2 elevado a las 3= 8 y 2 elevado a la 2 = 4.  Evaluar si un número es : Primo, Perfecto, Par o impar, Negativo o positivo y  Verificar si el numero esta dentro de la serie fibonacci.
  • 11.
    Cont… Cada operacióndebe ser una opción en el menú principal de la calculadora (utilizar enum y switch). Un ejemplo del menú principal seria:  Digite la opción que quiere utilizar: (La opción sería un número del teclado)  Opción 1: Sumar  Opción 2: Resta  Opción 3: División Notas:  Validación de los datos de entrada: No puede permitir entrada de caracteres, puede digitar números reales, es decir, con decimales. Manejo de excepciones.  Todas las funcionalidades deben desarrollarse sin utilizar funciones matemáticas del lenguaje, por ejemplo: el factorial