SlideShare una empresa de Scribd logo
1 de 18
Programación



M.C. Jaime Lara Alvarez
Clase 5




Manejo de excepciones
Contenido

• Definiciones:
   – Excepción
   – Manejo de Excepciones
• Casos de excepciones
• Manejo de Excepciones en C#
• Uso de Try – catch - finally en C#
   – Ejemplo
• Referencias
Excepción



• Una excepción es la indicación de un problema
  que ocurre durante la ejecución de un programa.

• Ocurre con poca frecuencia.
Manejo de Excepciones



• El manejo de excepciones permite a los
  programadores crear aplicaciones tolerantes a
  fallas y robustos (resistentes a errores) para
  controlar estas excepciones y que pueda seguir
  ejecutando el programa sin verse afectado por el
  problema.
Casos de Excepciones



• Desbordamiento aritmético
  – Fallo informático que se da cuando el código
    almacenado en un registro supera su valor máximo.
• División entre cero (DivideByZeroException)
• FormatException
Manejo de Excepciones en C#



• C# incorpora mecanismos para el tratamiento de
  las situaciones anómalas, denominadas
  excepciones, que pueden producirse durante la
  ejecución de un programa.
Controlar una excepción mediante Try-catch


• El propósito de un bloque try-catch es detectar
  y controlar una excepción generada por código
  en funcionamiento.
Ejemplo



• Aplicación para calcular la división entre dos
  números.
Bloque Try
Format Exception & Divide By Zero Exception
Resultados
Resultados

Resultados
¿Qué pasaría si no se manejaran excepciones?
Fuga de Recursos

• Los programas solicitan y liberan recursos en forma
  dinámica (en tiempo de ejecución).
• Por ejemplo, para abrir un archivo se debe solicitar el
  acceso a dicho archivo. Los sistemas operativos evitan
  que más de un programa manipule un archivo al
  mismo tiempo. Debido a esto cuando un programa
  termina de usar un recurso debe de liberarlo para que
  otros programas puedan accederlo. Si esto no sucede
  ocurre una fuga de recursos.
El Bloque finally

• Un bloque finally se utiliza principalmente para liberar los
  recursos solicitados en el bloque try.
• Es un mecanismo efectivo para eliminar fugas de recursos.
• El bloque finally se ejecuta sin importar que el bloque try
  se ejecute con éxito u ocurra una excepción.
• No se puede acceder a las variables locales de un bloque
  try en el bloque finally.
• Nota: Los recursos deben liberarse tan pronto como ya no
  sean necesarios en un programa.
Referencias

•   Capitulo 12: Manejo de Excepciones [paginas 385 – 409]
    Deitel, Harvey M. y Paul J. Deitel
    Cómo programar en C#. Segunda Edición.
    Pearson Educación, México 2007.

•   Manejo de excepciones
    http://es.wikipedia.org/wiki/Manejo_de_excepciones

•   Desbordamiento aritmético
    http://es.wikipedia.org/wiki/Desbordamiento_aritmético

•   Instrucciones para el control de excepciones
    http://msdn.microsoft.com/es-es/library/s7fekhdy%28v=VS.80%29.aspx

•   Cómo: Controlar una excepción mediante Try y Catch (Guía de programación de C#)
    http://msdn.microsoft.com/es-es/library/ms173165%28v=vs.80%29.aspx

Más contenido relacionado

La actualidad más candente

Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clasesNedoww Haw
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML1da4
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacionFco Javier Rodriguez
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansDaniel Gómez
 
Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de desplieguegmjuan
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp serverJair Ospino Ardila
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datosnahun1385
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Juan Astudillo
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesbasilioj
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Josue Lara Reyes
 

La actualidad más candente (20)

Diagramas uml
Diagramas umlDiagramas uml
Diagramas uml
 
Programacion orientada a objetos Java
Programacion orientada a objetos JavaProgramacion orientada a objetos Java
Programacion orientada a objetos Java
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Listas
ListasListas
Listas
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Arreglos de registros
Arreglos de registros Arreglos de registros
Arreglos de registros
 
Diagrama de clases
Diagrama de clasesDiagrama de clases
Diagrama de clases
 
Diagramas UML
Diagramas UMLDiagramas UML
Diagramas UML
 
Base de datos modelo entidad relacion
Base de datos modelo entidad relacionBase de datos modelo entidad relacion
Base de datos modelo entidad relacion
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Diagramas de despliegue
Diagramas de despliegueDiagramas de despliegue
Diagramas de despliegue
 
3. Modelo ER - Relacional
3. Modelo ER - Relacional3. Modelo ER - Relacional
3. Modelo ER - Relacional
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 
Analisis y diseño diagrama de contexto
Analisis y diseño diagrama de contextoAnalisis y diseño diagrama de contexto
Analisis y diseño diagrama de contexto
 
Creación de tablas y relaciones en MySQL y wamp server
Creación de tablas y relaciones en MySQL y  wamp serverCreación de tablas y relaciones en MySQL y  wamp server
Creación de tablas y relaciones en MySQL y wamp server
 
Diccionario De Datos
Diccionario De DatosDiccionario De Datos
Diccionario De Datos
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)Conceptos de POO (Programacion Orientada a Objetos)
Conceptos de POO (Programacion Orientada a Objetos)
 
Ejemplo de Trigger en Mysql
Ejemplo de Trigger en MysqlEjemplo de Trigger en Mysql
Ejemplo de Trigger en Mysql
 

Destacado

Ejercicio UTPBookStore
Ejercicio UTPBookStoreEjercicio UTPBookStore
Ejercicio UTPBookStoreJaime Lara
 
Problemas Unidad I
Problemas Unidad IProblemas Unidad I
Problemas Unidad IJaime Lara
 
Creación de Interactivos con Educaplay
Creación de Interactivos con Educaplay Creación de Interactivos con Educaplay
Creación de Interactivos con Educaplay Jaime Lara
 
Caso de uso libreria
Caso de uso libreriaCaso de uso libreria
Caso de uso libreriaJaime Lara
 

Destacado (9)

Ejercicio UTPBookStore
Ejercicio UTPBookStoreEjercicio UTPBookStore
Ejercicio UTPBookStore
 
Problemas Unidad I
Problemas Unidad IProblemas Unidad I
Problemas Unidad I
 
Clase 3
Clase 3Clase 3
Clase 3
 
Clase 4
Clase 4Clase 4
Clase 4
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Clase 2
Clase 2Clase 2
Clase 2
 
Creación de Interactivos con Educaplay
Creación de Interactivos con Educaplay Creación de Interactivos con Educaplay
Creación de Interactivos con Educaplay
 
Unity
UnityUnity
Unity
 
Caso de uso libreria
Caso de uso libreriaCaso de uso libreria
Caso de uso libreria
 

Similar a Clase 5

Unidad 7 conceptos Avanzados en la Programacion orientado a objetos
Unidad 7 conceptos Avanzados en la Programacion orientado a objetosUnidad 7 conceptos Avanzados en la Programacion orientado a objetos
Unidad 7 conceptos Avanzados en la Programacion orientado a objetosAmado Arcaya
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesJosé Antonio Sandoval Acosta
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C SharpEdgardo Martinez
 
Excepciones
ExcepcionesExcepciones
Excepcionesale8819
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Excepciones
ExcepcionesExcepciones
Excepcionesrilara
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc X
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar informaciónUniversidad Santo Tomás
 
Modelos de persistencia 10
Modelos de persistencia 10Modelos de persistencia 10
Modelos de persistencia 10Avaco Unibague
 
Excepciones
ExcepcionesExcepciones
Excepcioneskattybe
 

Similar a Clase 5 (20)

Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Unidad 7 conceptos Avanzados en la Programacion orientado a objetos
Unidad 7 conceptos Avanzados en la Programacion orientado a objetosUnidad 7 conceptos Avanzados en la Programacion orientado a objetos
Unidad 7 conceptos Avanzados en la Programacion orientado a objetos
 
Programación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 ExcepcionesProgramación Orientada a Objetos - Unidad 5 Excepciones
Programación Orientada a Objetos - Unidad 5 Excepciones
 
Caracteristicas de C Sharp
Caracteristicas de C SharpCaracteristicas de C Sharp
Caracteristicas de C Sharp
 
Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
Java oo tema09_excepciones
Java oo tema09_excepcionesJava oo tema09_excepciones
Java oo tema09_excepciones
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad11-Unidad 3: Encapsulamiento y modularidad
11-Unidad 3: Encapsulamiento y modularidad
 
Cap9 excepciones
Cap9 excepcionesCap9 excepciones
Cap9 excepciones
 
Errores
ErroresErrores
Errores
 
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar informaciónJAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para   guardar información
JAVA: TRY-CATCH-FINALLY y Uso de ficheros de texto para guardar información
 
Modelos de persistencia 10
Modelos de persistencia 10Modelos de persistencia 10
Modelos de persistencia 10
 
Excepciones
ExcepcionesExcepciones
Excepciones
 

Último

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...GIANCARLOORDINOLAORD
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).hebegris04
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)jlorentemartos
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Carol Andrea Eraso Guerrero
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOEveliaHernandez8
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxNataliaGonzalez619348
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfssuser50d1252
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.monthuerta17
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectosTrishGutirrez
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAlejandrino Halire Ccahuana
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejormrcrmnrojasgarcia
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfMaritza438836
 

Último (20)

Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
SESIÓN DE APRENDIZAJE Leemos un texto para identificar los sinónimos y los an...
 
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
HISTORIETA: AVENTURAS VERDES (ECOLOGÍA).
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
TEMA 13. LOS GOBIERNOS DEMOCRÁTICOS (1982-2018)
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
Desarrollo de habilidades del siglo XXI - Práctica Educativa en una Unidad-Ca...
 
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADOCUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
CUADERNILLO DE EJERCICIOS PARA EL TERCER TRIMESTRE, SEXTO GRADO
 
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docxSecuencia didáctica.DOÑA CLEMENTINA.2024.docx
Secuencia didáctica.DOÑA CLEMENTINA.2024.docx
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdfFichas de matemática DE PRIMERO DE SECUNDARIA.pdf
Fichas de matemática DE PRIMERO DE SECUNDARIA.pdf
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.Si cuidamos el mundo, tendremos un mundo mejor.
Si cuidamos el mundo, tendremos un mundo mejor.
 
5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos5° Proyecto 13 Cuadernillo para proyectos
5° Proyecto 13 Cuadernillo para proyectos
 
Amor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdfAmor o egoísmo, esa es la cuestión por definir.pdf
Amor o egoísmo, esa es la cuestión por definir.pdf
 
LOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejorLOS AMBIENTALISTAS todo por un mundo mejor
LOS AMBIENTALISTAS todo por un mundo mejor
 
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdfPROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
PROGRAMACIÓN CURRICULAR - DPCC- 5°-2024.pdf
 

Clase 5

  • 2. Clase 5 Manejo de excepciones
  • 3. Contenido • Definiciones: – Excepción – Manejo de Excepciones • Casos de excepciones • Manejo de Excepciones en C# • Uso de Try – catch - finally en C# – Ejemplo • Referencias
  • 4. Excepción • Una excepción es la indicación de un problema que ocurre durante la ejecución de un programa. • Ocurre con poca frecuencia.
  • 5. Manejo de Excepciones • El manejo de excepciones permite a los programadores crear aplicaciones tolerantes a fallas y robustos (resistentes a errores) para controlar estas excepciones y que pueda seguir ejecutando el programa sin verse afectado por el problema.
  • 6. Casos de Excepciones • Desbordamiento aritmético – Fallo informático que se da cuando el código almacenado en un registro supera su valor máximo. • División entre cero (DivideByZeroException) • FormatException
  • 7. Manejo de Excepciones en C# • C# incorpora mecanismos para el tratamiento de las situaciones anómalas, denominadas excepciones, que pueden producirse durante la ejecución de un programa.
  • 8. Controlar una excepción mediante Try-catch • El propósito de un bloque try-catch es detectar y controlar una excepción generada por código en funcionamiento.
  • 9. Ejemplo • Aplicación para calcular la división entre dos números.
  • 11. Format Exception & Divide By Zero Exception
  • 14. ¿Qué pasaría si no se manejaran excepciones?
  • 15. Fuga de Recursos • Los programas solicitan y liberan recursos en forma dinámica (en tiempo de ejecución). • Por ejemplo, para abrir un archivo se debe solicitar el acceso a dicho archivo. Los sistemas operativos evitan que más de un programa manipule un archivo al mismo tiempo. Debido a esto cuando un programa termina de usar un recurso debe de liberarlo para que otros programas puedan accederlo. Si esto no sucede ocurre una fuga de recursos.
  • 16. El Bloque finally • Un bloque finally se utiliza principalmente para liberar los recursos solicitados en el bloque try. • Es un mecanismo efectivo para eliminar fugas de recursos. • El bloque finally se ejecuta sin importar que el bloque try se ejecute con éxito u ocurra una excepción. • No se puede acceder a las variables locales de un bloque try en el bloque finally. • Nota: Los recursos deben liberarse tan pronto como ya no sean necesarios en un programa.
  • 17.
  • 18. Referencias • Capitulo 12: Manejo de Excepciones [paginas 385 – 409] Deitel, Harvey M. y Paul J. Deitel Cómo programar en C#. Segunda Edición. Pearson Educación, México 2007. • Manejo de excepciones http://es.wikipedia.org/wiki/Manejo_de_excepciones • Desbordamiento aritmético http://es.wikipedia.org/wiki/Desbordamiento_aritmético • Instrucciones para el control de excepciones http://msdn.microsoft.com/es-es/library/s7fekhdy%28v=VS.80%29.aspx • Cómo: Controlar una excepción mediante Try y Catch (Guía de programación de C#) http://msdn.microsoft.com/es-es/library/ms173165%28v=vs.80%29.aspx