LP09
LP09
Excepciones
Programación Orientada a Objetos con Java
OOP
de un programa y detiene el flujo normal de la secuencia de
instrucciones de ese programa; en otras palabras, una
excepción es una condición anormal que surge en una
secuencia de código durante su ejecución.
• Una excepción, interrumpe el procesamiento normal porque
no cuenta con la información necesaria para resolver el
Manejo de Excepciones problema, en el contexto en que sucedió. Todo lo que se
puede hacer es abandonar dicho contexto y pasar el
problema a un contexto de más alto nivel.
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
– Verificadas en compilación
Situaciones predecibles y que pueden ser control
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
1
OOP con Java OOP con Java
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
• Se utilizan en Java para capturar las excepciones que se han • try: Es el bloque de código donde se prevé que se genere
podido producir en el bloque de código delimitado por try y una excepción. Es como si dijésemos "intenta estas
catch. sentencias y mira a ver si se produce una excepción". El
• En cuanto se produce la excepción, la ejecución del bloque bloque try tiene que ir seguido, al menos, por una cláusula
try, que la contiene, termina. catch o una cláusula finally.
• La cláusula catch recibe como argumento un objeto • catch: Es el código que se ejecuta cuando se produce la
Throwable. excepción. Es como si dijésemos "controlo cualquier
excepción que coincida con mi argumento". Se pueden
colocar sentencias catch sucesivas, cada una controlando
una excepción diferente.
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
• Es posible manejar con la clase Exception todas las excepciones • finally: Es el bloque de código que se ejecuta siempre, haya
lanzadas desde cualquier punto, ya que todas las excepciones o no excepción.
derivan de Exception, aunque el tratamiento sería igual para cada
• En ocasiones, nos interesa ejecutar un fragmento de código
una de ellas, sin poder tener un tratamiento especial en cada caso.
independiente de si se produce o no un excepción (por
• Por otro lado, uno puede capturar Excepciones específicas
ejemplo, cerrar un fichero que estemos manipulando o una
indicándolas en el bloque catch; además, pueden haber tantos
bloques catch como errores predecibles dentro del bloque try. conexión a una fuente de datos).
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
2
OOP con Java OOP con Java
• Se realiza con la sentencia throw(lanzar), seguida de un • Se utiliza para lanzar objetos de tipo Throwable.
objeto de la clase Exception (o una de sus clases derivadas).
• El objeto de la clase Exception se crea como siempre con
una llamada a new, seguida del nombre del constructor.
• La palabra clave throw es usada por todos los métodos que
disparan excepciones y requiere como único argumento un
objeto Throwable.
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz
• La palabra clave throws se utiliza para identificar la lista • El programador puede definir sus propias clases de
posible de excepciones que un método puede lanzar. excepciones.
• Se define una clase que herede de Throwable o
generalmente de Exception.
Ing. Jesús Bernardo Olavarria Paz Ing. Jesús Bernardo Olavarria Paz