6 excepciones

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

Upload: claribel-eusebio-nolasco

Post on 21-Jul-2015

408 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: 6 excepciones

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

Page 2: 6 excepciones

TEMARIOTEMARIO

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

Manejo de Excepciones Manejo de Excepciones Lanzamiento de ExcepcionesLanzamiento de Excepciones

Page 3: 6 excepciones

¿¿Por qué se emplean excepcionesPor 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{

‘El código que puede producir el error}catch ([filtros opcionales o tipos de errores a capturar]){

‘Código para cuando se produzca un error [bloques catch adicionales]}Finally{

‘Código se ejecuta siempre aunque suceda o no un error}

try{

‘El código que puede producir el error}catch ([filtros opcionales o tipos de errores a capturar]){

‘Código para cuando se produzca un error [bloques catch adicionales]}Finally{

‘Código se ejecuta siempre aunque suceda o no un error}

MANEJO DE EXCEPCIONESMANEJO DE EXCEPCIONES

Page 4: 6 excepciones

EjemploEjemplo

Page 5: 6 excepciones

Atributos de la Clase ExceptionAtributos 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.

Page 6: 6 excepciones

Objetos ExcepciónObjetos Excepción

ExceptionException

SystemExceptionSystemException

OutOfMemoryExceptionOutOfMemoryException

IOExceptionIOException

NullReferenceExceptionNullReferenceException

ApplicationExceptionApplicationException

Page 7: 6 excepciones

IntroducciónIntroducciónC# incluye la instrucción throw, que C# incluye la instrucción throw, que permiten a los programadores lanzar permiten a los programadores lanzar excepciones cuando sea necesario y excepciones cuando sea necesario y controlarlas convenientemente.controlarlas convenientemente.Cuando necesita lanzar una excepción, el Cuando necesita lanzar una excepción, el runtime ejecuta una instrucción throw y runtime ejecuta una instrucción throw y lanza una excepción definida por el sistema.lanza una excepción definida por el sistema.

LANZAMIENTO DE EXCEPCIONESLANZAMIENTO DE EXCEPCIONES

Page 8: 6 excepciones

La instrucción throwLa instrucción throw

Lanza una excepción apropiadaLanza una excepción apropiadaAsigna a la excepción un mensaje Asigna a la excepción un mensaje significativosignificativo

throw expression ;throw expression ;

if (minuto < 1 || minuto >= 60) { throw new InvalidTimeException(minuto + " no es un minuto válido"); // !! Not alcanzado !!}

if (minuto < 1 || minuto >= 60) { throw new InvalidTimeException(minuto + " no es un minuto válido"); // !! Not alcanzado !!}

Page 9: 6 excepciones

Normas para el tratamiento de Normas para el tratamiento de excepcionesexcepciones

LanzamientoLanzamiento Evitar excepciones para casos normales o esperadosEvitar excepciones para casos normales o esperados Nunca crear ni lanzar objetos de clase Nunca crear ni lanzar objetos de clase ExceptionException Incluir una cadena de descripción en un objeto Incluir una cadena de descripción en un objeto

ExceptionException Lanzar objetos de la clase más específica posibleLanzar objetos de la clase más específica posible

CapturaCaptura Ordenar los bloques Ordenar los bloques catchcatch de lo específico a lo general de lo específico a lo general No permitir que salgan excepciones de No permitir que salgan excepciones de MainMain

Page 10: 6 excepciones

ProyectoProyectoDesarrollar 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.

Page 11: 6 excepciones

Cont…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