SlideShare ist ein Scribd-Unternehmen logo
1 von 5
Downloaden Sie, um offline zu lesen
TIPOS DE EXCEPCIONES
Existen varios tipos fundamentales de excepciones:




Error: Excepciones que indican problemas muy graves, que suelen ser no recuperables y no
deben casi nunca ser capturadas.
Exception: Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecución.
RuntimeException: Excepciones que se dan durante la ejecución del programa.

Todas las excepciones tienen como clase base la clase Throwable, que está incluida en el paquete
java.lang, y sus métodos son:







Trowable( String mensaje ); Constructor. La cadena es opcional
Throwable fillInStackTrace(); Llena la pila de traza de ejecución.
String getLocalizedMessage(); Crea una descripción local de este objeto.
String getMessage(); Devuelve la cadena de error del objeto.
void printStackTrace( PrintStream_o_PrintWriter s ); Imprime este objeto y su traza en el flujo
del parámetro s, o en la salida estándar (por defecto).
String toString; Devuelve una breve descripción del objeto.

La superclase de todas las excepciones es la clase Throwable. Sólo las instancias de esta clase o
alguna de sus subclases pueden ser utilizadas como excepciones. La clase Trowable tiene dos
clases derivadas: Error y Exception.
La clase Exception sirve como superclase para crear excepciones de propósito específico
(adaptadas a nuestras necesidades), por ejemplo, si estamos diseñando una clase que lee
secuencialmente bytes en una cinta digital de datos, podemos crear la excepción: FinDeCinta que
se produce cuando el dispositivo físico ha alcanzado el final de la cinta. Otro ejemplo podría ser la
implementación de una clase de envío de datos a un satélite no geoestacionario, donde convendría
incluir una excepción FueraDeCobertura que se produzca cuando el satélite se encuentre fuera del
alcance de nuestra antena parabólica. Un último ejemplo: si escribimos un driver de impresora
podemos crear una clase derivada de Exception para que nos avise de la situación excepcional
FinDePapel .
La clase Error sirve de superclase para una serie de clases derivadas ya definidas que nos informan
de situaciones anormales relacionadas con errores de muy difícil recuperación producidos en el
sistema.
Si existe excepción
....................
Numerador = .............
Denominador = ............
Resultado = Numerador / Denominador;
....................
System.out.println (“No se puede realizar la división”);
No es obligatorio tratar las excepciones derivadas de la clase Error, ya que en la ejecución de una
aplicación probablemente nunca se produzcan estas situaciones anormales, sin embargo, sí que es
obligatorio hacer un tratamiento explícito de las excepciones derivadas de la clase Exception (no
podemos ignorar la falta de cobertura de un satélite, el fin del papel en una impresora, el fin de datos
en una lectura secuencial, etc.). En una aplicación bien diseñada e implementada es muchísimo más
probable que se produzcan excepciones de tipo Exception que excepciones de tipo Error.
La clase Exception tiene un amplio número de clases derivadas proporcionadas por el SDK, por
ejemplo existen excepciones predefinidas para el uso de ficheros, de SQL, etc. De todas estas
subclases, RuntimeExeption tiene una característica propia: no es necesario realizar un tratamiento
explícito de estas excepciones (de todas las demás clases derivadas de Exception si es necesario).
Esto es debido a que, al igual que con las excepciones derivadas de Error, existen pocas
posibilidades de recuperar situaciones
Entre las clases derivadas de RuntimeException se encuentran: anómalas de este tipo.

El siguiente gráfico muestra las clases más importantes en el uso de excepciones y su jerarquía . En
las clases no sombreadas es obligatorio realizar un tratamiento explícito de las excepciones, en las
clases sombreadas no es necesario este tratamiento
En el apartado anterior adelantábamos el diseño básico del tratamiento de excepciones: separar el
código de los programas del código de control de situaciones excepcionales en los programas, y los
ilustrábamos gráficamente con el siguiente ejemplo:

El bloque superior representa el código del programa y se le denomina bloque de “intento” (try). Aquí
se introduce el código del programa susceptible de causar cierto tipo de excepciones. Las
instrucciones se incluyen en un bloque con la siguiente sintaxis:

try {
// instrucciones susceptibles de causar cierto tipo de excepciones
}
El bloque inferior contiene las instrucciones de control de situaciones excepcionales. La sintaxis es:
catch (TipoDeExcepcion Identificador) {
// instrucciones de control de situaciones excepcionales
}
Entre el bloque try y el bloque catch no puede haber ninguna instrucción. Ambos bloques se
encuentran ligados en ejecución.
El funcionamiento es el siguiente: se ejecutan las instrucciones del bloque try hasta que se produzca
la situación de excepción de tipo TipoDeExcepcion; nótese que, habitualmente, no se producirá la
excepción y se ejecutarán todas las instrucciones del bloque try. Si se da la excepción, se pasa a
ejecutar las instrucciones del bloque catch y, posteriormente, las instrucciones siguientes al bloque
catch. Si no se produce la excepción no se ejecutan las instrucciones del bloque catch. Gráficamente:

Weitere ähnliche Inhalte

Was ist angesagt?

2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automataJacqui Venegas
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetosjent46
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasHuascar Génere
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresAngel Vázquez Patiño
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacionoswchavez
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a ObjetosLuis Arturo Vargas
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Osiris Mirerus
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Giancarlo Aguilar
 

Was ist angesagt? (20)

C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Programación modular
Programación modularProgramación modular
Programación modular
 
7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases7 Curso de POO en java - diagrama de clases
7 Curso de POO en java - diagrama de clases
 
2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata2...2 expresiones regulares, cerradura, fractales, automata
2...2 expresiones regulares, cerradura, fractales, automata
 
programacion orientada a objetos
programacion orientada a objetosprogramacion orientada a objetos
programacion orientada a objetos
 
Estructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colasEstructura de datos: lista, pilas y colas
Estructura de datos: lista, pilas y colas
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Programación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectoresProgramación 3: arrays (arreglos) y vectores
Programación 3: arrays (arreglos) y vectores
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Jtextarea
JtextareaJtextarea
Jtextarea
 
Clase 3 Modelo Entidad Relacion
Clase 3   Modelo Entidad   RelacionClase 3   Modelo Entidad   Relacion
Clase 3 Modelo Entidad Relacion
 
Exception Handling in Java
Exception Handling in JavaException Handling in Java
Exception Handling in Java
 
PL/SQL
PL/SQLPL/SQL
PL/SQL
 
Test Programación Orientada a Objetos
Test Programación Orientada a  ObjetosTest Programación Orientada a  Objetos
Test Programación Orientada a Objetos
 
Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1Alfabetos-Lenguajes y Automatas 1
Alfabetos-Lenguajes y Automatas 1
 
Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.Componentes y Librerías - Tópicos avanzados de programación.
Componentes y Librerías - Tópicos avanzados de programación.
 

Ähnlich wie Tipos de excepciones

Ähnlich wie Tipos de excepciones (20)

Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Lab excepciones
Lab excepcionesLab excepciones
Lab excepciones
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string
 
3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string3...3 manejo de excepciones y la clase string
3...3 manejo de excepciones y la clase string
 
Resumen claudia u5
Resumen claudia u5Resumen claudia u5
Resumen claudia u5
 
Resumen
ResumenResumen
Resumen
 
Tema 4 excepciones por gio
Tema 4   excepciones por gioTema 4   excepciones por gio
Tema 4 excepciones por gio
 
excepciones_java en www.fiec.espol.edu.ec
excepciones_java  en www.fiec.espol.edu.ecexcepciones_java  en www.fiec.espol.edu.ec
excepciones_java en www.fiec.espol.edu.ec
 
Java excepciones
Java excepcionesJava excepciones
Java excepciones
 
Introducción
IntroducciónIntroducción
Introducción
 
Java5
Java5Java5
Java5
 
Try catch
Try catchTry catch
Try catch
 
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
 
6 excepciones
6 excepciones6 excepciones
6 excepciones
 
Clase string y manejo de excepciones
Clase string y manejo de excepcionesClase string y manejo de excepciones
Clase string y manejo de excepciones
 
Capitulo II
Capitulo IICapitulo II
Capitulo II
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Manejo de excepciones en vb
Manejo de excepciones en vbManejo de excepciones en vb
Manejo de excepciones en vb
 

Mehr von Manuel Alejandro Hernandez Sanchez

Mehr von Manuel Alejandro Hernandez Sanchez (20)

Serialización personalizada
Serialización personalizadaSerialización personalizada
Serialización personalizada
 
Ejemplo
EjemploEjemplo
Ejemplo
 
Entrada
EntradaEntrada
Entrada
 
Ejemplo
EjemploEjemplo
Ejemplo
 
Herencia
HerenciaHerencia
Herencia
 
Tipo estático y tipo dinámico
Tipo estático y tipo dinámicoTipo estático y tipo dinámico
Tipo estático y tipo dinámico
 
Introducción
IntroducciónIntroducción
Introducción
 
Uso de polimorfismo
Uso de polimorfismoUso de polimorfismo
Uso de polimorfismo
 
Enlace dinámico
Enlace dinámicoEnlace dinámico
Enlace dinámico
 
Clase base
Clase baseClase base
Clase base
 
Por qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadoresPor qué java no soporta la sobre carga de operadores
Por qué java no soporta la sobre carga de operadores
 
Sobrecarga de constructores
Sobrecarga de constructoresSobrecarga de constructores
Sobrecarga de constructores
 
Recolección de basura
Recolección de basuraRecolección de basura
Recolección de basura
 
Retorno de valores
Retorno de valoresRetorno de valores
Retorno de valores
 
Metodos de mensajes
Metodos de mensajesMetodos de mensajes
Metodos de mensajes
 
La destrucción del objeto
La destrucción del objetoLa destrucción del objeto
La destrucción del objeto
 
Acceso al objeto
Acceso al objetoAcceso al objeto
Acceso al objeto
 
Agregar un metodo que toma parametros
Agregar un metodo que toma parametrosAgregar un metodo que toma parametros
Agregar un metodo que toma parametros
 
Asignación de variables de referencia de objeto
Asignación de variables de referencia de objetoAsignación de variables de referencia de objeto
Asignación de variables de referencia de objeto
 
Una clase simple.
Una clase simple. Una clase simple.
Una clase simple.
 

Tipos de excepciones

  • 1. TIPOS DE EXCEPCIONES Existen varios tipos fundamentales de excepciones:    Error: Excepciones que indican problemas muy graves, que suelen ser no recuperables y no deben casi nunca ser capturadas. Exception: Excepciones no definitivas, pero que se detectan fuera del tiempo de ejecución. RuntimeException: Excepciones que se dan durante la ejecución del programa. Todas las excepciones tienen como clase base la clase Throwable, que está incluida en el paquete java.lang, y sus métodos son:       Trowable( String mensaje ); Constructor. La cadena es opcional Throwable fillInStackTrace(); Llena la pila de traza de ejecución. String getLocalizedMessage(); Crea una descripción local de este objeto. String getMessage(); Devuelve la cadena de error del objeto. void printStackTrace( PrintStream_o_PrintWriter s ); Imprime este objeto y su traza en el flujo del parámetro s, o en la salida estándar (por defecto). String toString; Devuelve una breve descripción del objeto. La superclase de todas las excepciones es la clase Throwable. Sólo las instancias de esta clase o alguna de sus subclases pueden ser utilizadas como excepciones. La clase Trowable tiene dos clases derivadas: Error y Exception. La clase Exception sirve como superclase para crear excepciones de propósito específico (adaptadas a nuestras necesidades), por ejemplo, si estamos diseñando una clase que lee secuencialmente bytes en una cinta digital de datos, podemos crear la excepción: FinDeCinta que se produce cuando el dispositivo físico ha alcanzado el final de la cinta. Otro ejemplo podría ser la implementación de una clase de envío de datos a un satélite no geoestacionario, donde convendría incluir una excepción FueraDeCobertura que se produzca cuando el satélite se encuentre fuera del alcance de nuestra antena parabólica. Un último ejemplo: si escribimos un driver de impresora podemos crear una clase derivada de Exception para que nos avise de la situación excepcional FinDePapel . La clase Error sirve de superclase para una serie de clases derivadas ya definidas que nos informan de situaciones anormales relacionadas con errores de muy difícil recuperación producidos en el sistema.
  • 2.
  • 3. Si existe excepción .................... Numerador = ............. Denominador = ............ Resultado = Numerador / Denominador; .................... System.out.println (“No se puede realizar la división”); No es obligatorio tratar las excepciones derivadas de la clase Error, ya que en la ejecución de una aplicación probablemente nunca se produzcan estas situaciones anormales, sin embargo, sí que es obligatorio hacer un tratamiento explícito de las excepciones derivadas de la clase Exception (no podemos ignorar la falta de cobertura de un satélite, el fin del papel en una impresora, el fin de datos en una lectura secuencial, etc.). En una aplicación bien diseñada e implementada es muchísimo más probable que se produzcan excepciones de tipo Exception que excepciones de tipo Error. La clase Exception tiene un amplio número de clases derivadas proporcionadas por el SDK, por ejemplo existen excepciones predefinidas para el uso de ficheros, de SQL, etc. De todas estas subclases, RuntimeExeption tiene una característica propia: no es necesario realizar un tratamiento explícito de estas excepciones (de todas las demás clases derivadas de Exception si es necesario). Esto es debido a que, al igual que con las excepciones derivadas de Error, existen pocas posibilidades de recuperar situaciones Entre las clases derivadas de RuntimeException se encuentran: anómalas de este tipo. El siguiente gráfico muestra las clases más importantes en el uso de excepciones y su jerarquía . En las clases no sombreadas es obligatorio realizar un tratamiento explícito de las excepciones, en las clases sombreadas no es necesario este tratamiento
  • 4. En el apartado anterior adelantábamos el diseño básico del tratamiento de excepciones: separar el código de los programas del código de control de situaciones excepcionales en los programas, y los ilustrábamos gráficamente con el siguiente ejemplo: El bloque superior representa el código del programa y se le denomina bloque de “intento” (try). Aquí se introduce el código del programa susceptible de causar cierto tipo de excepciones. Las instrucciones se incluyen en un bloque con la siguiente sintaxis: try { // instrucciones susceptibles de causar cierto tipo de excepciones } El bloque inferior contiene las instrucciones de control de situaciones excepcionales. La sintaxis es: catch (TipoDeExcepcion Identificador) { // instrucciones de control de situaciones excepcionales }
  • 5. Entre el bloque try y el bloque catch no puede haber ninguna instrucción. Ambos bloques se encuentran ligados en ejecución. El funcionamiento es el siguiente: se ejecutan las instrucciones del bloque try hasta que se produzca la situación de excepción de tipo TipoDeExcepcion; nótese que, habitualmente, no se producirá la excepción y se ejecutarán todas las instrucciones del bloque try. Si se da la excepción, se pasa a ejecutar las instrucciones del bloque catch y, posteriormente, las instrucciones siguientes al bloque catch. Si no se produce la excepción no se ejecutan las instrucciones del bloque catch. Gráficamente: