SlideShare a Scribd company logo
1 of 45
Download to read offline
Let's Rock Java


Fundamentos de Java Enterprise Edition
con JDeveloper

Eudris Cabrera Rodriguez

Ingeniero Telemático
Senior Software Developer
Skype:eudriscabrera
LinkedIn:http://www.linkedin.com/in/eudriscabrera

Noviembre 2011, Santiago de los Caballeros, R. D.
Objetivos



1. Introducir el entorno de desarrollo integrado (IDE)
   Oracle JDeveloper.
2. Enseñar fundamentos esenciales para trabajar con tipo
   de datos y estructuras de control.
3. Entender el manejo de excepciones en java.
Agenda

 ● Introducción  del entorno de desarrollo integrado(IDE)
   Oracle JDeveloper
    ○ Instalación de JDeveloper
    ○ Primeros pasos con Jdeveloper.
 ● Manejo de excepciones
    ○ Definición, manejo y creación personalizada..
    ○ Uso de la Sentencia try/catch/finally/trows.
Introducción a los Entornos de desarrollo integrado(IDE)

Instalación de Oracle JDeveloper
Instalación de Oracle JDeveloper
Antes de instalar Jdeveloper debemos tener instalado el JDK.

Como descargar Oracle JDeveloper desde la página de Oracle

1-Visitar el enlace
http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html
2- Existen varias opciones, la versión Oracle JDeveloper Studio Edition (Studio
Edition: 11.1.2.1.0, que contiene el ADF Runtime y Oracle WebLogic Server
11g) y la versión JDeveloper Java Edition(Generic Release Java Edition:
11.1.2.1.0, que contiene el core de Java y funcionalidades XML). En nuestro
caso vamos a elegir la segunda opción, ya que queremos ir conocimiento el
entorno de desarrollo paso por paso.

Pulsar el botón Download File in la opción Generic Release Java Edition:
11.1.2.1.0. Esperar que la descarga termine.

3- Esta version no necesita un instalador , solamente tenemos que descomprimir
el archivo en el directorio deseado.
Instalación de Oracle JDeveloper
4- Crear una directorio llamado Oracle en Archivos de programa y descomprimir
el archivo jdevjava11121.zip dentro de dicho directorio.

La instalación debe quedar como se muestra en la imagen.
Instalación de Oracle JDeveloper
Luego navegamos dentro del directorio jdeveloper y seleccionar el archivo
ejecutable jdeveloper(muestra una tasa de café como ícono).
Instalación de Oracle JDeveloper
Luego de seleccionar el archivo jdeveloper, hacemos click derecho encima del
mismo. Se mostrarán varias opciones que nos permitiran acceder al archivo
desde cualquier lugar, podemos agregarlo al Menú de Inicio o podemos crear un
enlace directo. Está a opción nuestra la forma a elegir.
Instalación de Oracle JDeveloper

Podemos iniciar a jdeveloper desde el menú de inicio o desde un enlace directo,
según su selección anterior. Otra opción es utitlizar uno de los siguientes
comandos desde el command prompt.

MW_HOMEjdeveloperjdeveloper.exe
MW_HOMEjdeveloperjdevbinjdevw.exe


donde MW_HOME es el directorio principal donde descomprimimos
anteriormente la instalación de jdeveloper.


Al iniciar por primera vez, debemos especificar la ruta donde está nuestra
instalación del jdk, ejemplo: C:Program FilesJavajdk1.6.0bin.
Instalación de Oracle JDeveloper
Instalación de Oracle JDeveloper

Si seleccionamos la ruta correcta, el programa presenta el splas screen(Primera
pantalla que presenta al iniciar el programa). El programa puede preguntarnos
que si queremos exportar la configuración de una instalación anterior. En
nuestro caso, pulsamos la opción No.



La primera vez que iniciamos el programas se presentará la siguiente
pantalla.
Instalación de Oracle JDeveloper
Instalación de Oracle JDeveloper

Pulsamos todas las opciones y luego el botón Ok para continuar. Cerramos la
ventana de Tip of the Day.


Ahora podemos iniciar a usar a jdeveloper.
Instalación de Oracle JDeveloper
Instalación de Oracle JDeveloper


La instalación anterior es sólo para sistemas operativos Windows.
Si desea leer más sobre la instalación en otros entornos de desarrollo podemos
leer la guía oficial de instalación.


http://download.oracle.com/docs/cd/E24382_01/install.1112/e17074/toc.htm

Primeros pasos con JDeveloper
Primeros pasos con Oracle JDeveloper
Manejo de excepciones

A diferencia de otros lenguajes de programación orientados
a objetos como C/C++, Java incorpora en el propio lenguaje
la gestión de errores.

El mejor momento para detectar los errores es durante la
compilación. Sin embargo prácticamente sólo los errores de
sintaxis son detectados durante este periodo.

El resto de problemas surgen durante la ejecución de los
programas.
Manejo de excepciones
En el lenguaje Java, una excepción es un cierto tipo de error o
una condición anormal que se ha producido durante la
ejecución de un programa.

Algunas excepciones son fatales y provocan que se deba
finalizar la ejecución del programa.

En este caso conviene terminar ordenadamente y dar un
mensaje explicando el tipo de error que se ha producido.
Otras, como por ejemplo no encontrar un fichero en el que
hay que leer o escribir algo, pueden ser recuperables.

En este caso el programa debe dar al usuario la oportunidad
de corregir el error (indicando una nueva localización del
fichero no encontrado).
Manejo de excepciones
Un buen programa debe gestionar correctamente todas o la
mayor parte de los errores que se pueden producir.

En los siguientes apartados se examina cómo y cuándo se
deben lanzar excepciones, cuándo se deben capturar y
cómo se crean las clases propias de tipo Exception.
Manejo de excepciones
EXCEPCIONES ESTÁNDAR DE JAVA:
Manejo de excepciones

Los errores se representan mediante dos tipos de clases
derivadas de la clase Throwable: Error y Exception. La figura
anterior muestra parcialmente la jerarquía de clases
relacionada con Throwable:
La clase Error está relacionada con errores de compilación,
del sistema o de la JVM. De ordinario estos errores son
irrecuperables y no dependen del programador ni debe
preocuparse de capturarlos y tratarlos.
Manejo de excepciones
 La clase Exception tiene más interés. Dentro de ella se puede
 distinguir:

    1. RuntimeException: Son excepciones muy frecuentes,
 de ordinario relacionadas con errores de programación.
        Se pueden llamar excepciones implícitas.

    2. Las demás clases derivadas de Exception son
 excepciones explícitas. Java obliga a tenerlas en cuenta y
 chequear si se producen.
Manejo de excepciones

El caso de RuntimeException es un poco especial. El propio
Java durante la ejecución de un programa chequea y lanza
automáticamente las excepciones que derivan de
untimeException.


El programador no necesita establecer los bloques try/catch
para controlar este tipo de excepciones.
Manejo de excepciones
Representan dos casos de errores de programación:

    1. Un error que normalmente no suele ser chequeado por
el programador, como por ejemplo recibir una referencia null
en un método.

    2. Un error que el programador debería haber chequeado
al escribir el código, como sobrepasar el tamaño asignado de
un array (genera un ArrayIndexOutOfBoundsException
automáticamente).

En realidad sería posible comprobar estos tipos de errores,
pero el código se complicaría excesivamente si se necesitara
chequear continuamente todo tipo de errores (que las
referencias son distintas de null, que todos los argumentos de
Manejo de excepciones
Las clases derivadas de Exception pueden pertenecer a
distintos packages de Java.

Algunas perenecen a java.lang (Throwable, Exception,
RuntimeException, ...);

Otras a java.io (EOFException, FileNotFoundException, ...)
o a otros packages.
Manejo de excepciones


Por heredar de Throwable todos los tipos de excepciones
pueden usar los métodos siguientes:

    1. String getMessage()     Extrae el mensaje asociado con
la excepción.

    2. String toString()     Devuelve un String que describe
la excepción.

   3. void printStackTrace()      Indica el método donde se
lanzó la excepción.
Manejo de excepciones

LANZAR UNA EXCEPTION

Cuando en un método se produce una situación anómala es
necesario lanzar una excepción. El proceso de lanzamiento
de una excepción es el siguiente:

1. Se crea un objeto Exception de la clase adecuada.
Se lanza la excepción con la sentencia throw seguida del
objeto Exception creado.
// Código que lanza la excepción MyException una vez detectado el error
MyException me = new MyException("MyException message");

throw me;
Manejo de excepciones


Esta excepción deberá ser capturada (catch) y gestionada en
el propio método o en algún otro lugar del programa (en otro
método anterior en la pila o stack de llamadas)

Al lanzar una excepción el método termina de inmediato, sin
devolver ningún valor. Solamente en el caso de que el método
incluya los bloques try/catch/finally se ejecutará el bloque
catch que la captura o el bloque finally (si existe).

Todo método en el que se puede producir uno o más tipos de
excepciones (y que no utiliza directamente los bloques
try/catch/finally para tratarlos) debe declararlas en el
encabezamiento de la función por medio de la palabra throws.
Manejo de excepciones


Si un método puede lanzar varias excepciones, se ponen
detrás de throws separadas por comas, como por ejemplo:

public void leerFichero(String fich) throws EOFException,
FileNotFoundException {...}


Se puede poner únicamente una superclase de excepciones
para indicar que se pueden lanzar excepciones de cualquiera
de sus clases derivadas.
Manejo de excepciones


El caso anterior sería equivalente a:

public void leerFichero(String fich) throws IOException {...}

Las excepciones pueden ser lanzadas directamente por
leerFichero() o por alguno de los métodos llamados por
leerFichero(), ya que las clases EOFException y
FileNotFoundException derivan de IOException.


Se recuerda que no hace falta avisar de que se pueden lanzar
objetos de la clases Error o RuntimeException (excepciones
implícitas).
Excepciones chequeadas y en tiempo de corrida
Java define una clase RuntimeException que es una
extensión de Exception. Algunas subclases de
RuntimeException son ArithmeticException,
ClassCastException, IndexOutOfBoundsException,
NullPointerException.

A diferencia de Exception y otras subclases de Exception, el
compilador no requiere que estas se mencionen en una
cláusula throws.

La razón es que estas excepciones representan errores de
código que pudieran ocurrir en cualquier método, por lo que
prácticamente todos los métodos tendrían que mencionarlas.

Ha estas excepciones se les llama excepciones en tiempo de
Excepciones chequeadas y en tiempo de corrida


Las excepciones que deben ser mencionadas en la cláusula
throws se les llama excepciones chequeadas porque el
compilador chequea que la cláusula throws coincida con
cualquier sentencia throw del método o throws de los métodos
invocados.
CAPTURAR UNA EXCEPTION

Como ya se ha visto, ciertos métodos de los packages de
Java y algunos métodos creados por cualquier programador
producen (“lanzan”) excepciones. Si el usuario llama a estos
métodos sin tenerlo en cuenta se produce un error de
compilación con un mensaje del tipo: “... Exception

java.io.IOException must be caugth or it must be declared in
the throws clause of this method”.
Manejo de excepciones
El programa no compilará mientras el usuario no haga una de
estas dos cosas:

 1. Gestionar la excepción con una construcción del tipo try
{...} catch {...}.

 2. Re-lanzar la excepción hacia un método anterior en el
stack, declarando que su método también lanza dicha
excepción, utilizando para ello la construcción throws en el
header del método.

El compilador obliga a capturar las llamadas excepciones
explícitas, pero no protesta si se captura y luego no se hace
nada con ella. En general, es conveniente por lo menos
imprimir un mensaje indicando qué tipo de excepción se ha
Bloques try y catch

En el caso de las excepciones que no pertenecen a las
RuntimeException y que por lo tanto Java obliga a tenerlas en
cuenta habrá que utilizar los bloques try, catch y finally.

El código dentro del bloque try está “vigilado”: Si se produce
una situación anormal y se lanza por lo tanto una excepción
el control salta o sale del bloque try y pasa al bloque catch,
que se hace cargo de la situación y decide lo que hay que
hacer. Se pueden incluir tantos bloques catch como sean
necesarios, cada uno de los cuales tratará un tipo de
excepción.
Bloques try y catch

Las excepciones se pueden capturar individualmente o en
grupo, por medio de una superclase de la que deriven todas
ellas.
El bloque finally es opcional. Si se incluye sus sentencias se
ejecutan siempre, sea cual sea la excepción que se produzca
o si no se produce ninguna.

El bloque finally se ejecuta aunque en el bloque try haya un
return.
Relanzar una excepción

Existen algunos casos en los cuales el código de un método
puede generar una Exception y no se desea incluir en dicho
método la gestión del error. Java permite que este método
pase o relance (throws) la Exception al método desde el que
ha sido llamado, sin incluir en el método los bucles try/catch
correspondientes.

Esto se consigue mediante la adición de throws más el
nombre de la Exception concreta después de la lista de
argumentos del método. A su vez el método superior deberá
incluir los bloques try/catch o volver a pasar la Exception.
Relanzar una excepción

Según lo anterior, si un método llama a otros métodos que
pueden lanzar excepciones (por ejemplo de un package de
Java), tiene 2 posibilidades:

   1. Capturar las posibles excepciones y gestionarlas.

    2. Desentenderse de las excepciones y remitirlas hacia
otro método anterior en el stack para éste se encargue de
gestionarlas.

   Si no hace ninguna de las dos cosas anteriores el
compilador da un error, salvo que se trate de una
RuntimeException.
Método finally

El bloque finally {...} debe ir detrás de todos los bloques catch
considerados. Si se incluye (ya que
es opcional) sus sentencias se ejecutan siempre, sea cual sea
el tipo de excepción que se produzca, o
incluso si no se produce ninguna.

El bloque finally se ejecuta incluso si dentro de los bloques
try/catch hay una sentencia continue, break o return.
Método finally

El bloque finally es necesario en los casos en que se necesite
recuperar o devolver a su situación original algunos
elementos. No se trata de liberar la memoria reservada con
new ya que de ello se ocupará automáticamente el garbage
collector.

Como ejemplo se podría pensar en un bloque try dentro del
cual se abre un fichero para lectura y escritura de datos y se
desea cerrar el fichero abierto.

 El fichero abierto se debe cerrar tanto si produce una
excepción como si no se produce, ya que dejar un fichero
abierto puede provocar problemas posteriores. Para
conseguir esto se deberá incluir las sentencias
correspondientes a cerrar el fichero dentro del bloque finally.
CREAR NUEVAS EXCEPCIONES

El programador puede crear sus propias excepciones sólo
con heredar de la clase Exception o de una de sus clases
derivadas. Lo lógico es heredar de la clase de la jerarquía de
Java que mejor se adapte al tipo de excepción.

Las clases Exception suelen tener dos constructores:
   1. Un constructor sin argumentos.
   2. Un constructor que recibe un String como argumento.
En este String se suele definir un
       mensaje que explica el tipo de excepción generada.
Conviene que este constructor llame al constructor de la clase
de la que deriva super(String).

Al ser clases como cualquier otra se podrían incluir variables y
métodos nuevos.
CREAR NUEVAS EXCEPCIONES

Por ejemplo:

   class MiExcepcion extends Exception {

       public MiExcepcion() { // Constructor por defecto
          super();
       }

     public MiExcepción(String s) { // Constructor con
mensaje

           super(s);
       }
   }
HERENCIA DE CLASES Y TRATAMIENTO DE
EXCEPCIONES

Si un método redefine otro método de una super-clase que
utiliza throws, el método de la clase derivada no tiene
obligatoriamente que poder lanzar todas las mismas
excepciones de la clase base.

Es posible en el método de la subclase lanzar las mismas
excepciones o menos, pero no se pueden lanzar más
excepciones. No puede tampoco lanzar nuevas excepciones
ni excepciones de una clase más general.
HERENCIA DE CLASES Y TRATAMIENTO DE
EXCEPCIONES

Se trata de una restricción muy útil ya que como
consecuencia de ello el código que funciona con la clase base
podrá trabajar automáticamente con referencias de clases
derivadas, incluyendo el tratamiento de excepciones,
concepto fundamental en la Programación Orientada a
Objetos(polimorfismo).
PREGUNTAS ?
WE ROCK JAVA !!!

More Related Content

What's hot

Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en javajent46
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesjbersosa
 
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.ecSilvana Vargas
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepcionesjbersosa
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepcionesJuan Mancilla
 
Exceptions (2)
Exceptions (2)Exceptions (2)
Exceptions (2)jbersosa
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepcionesjbersosa
 
Java exceptions
Java exceptionsJava exceptions
Java exceptionssandropaul
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standarjbersosa
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc X
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuariovictdiazm
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVAinnovalabcun
 

What's hot (20)

unidad 5 excepciones propias
unidad 5 excepciones propiasunidad 5 excepciones propias
unidad 5 excepciones propias
 
Excepciones en java
Excepciones en javaExcepciones en java
Excepciones en java
 
Java oo tema09_excepciones
Java oo tema09_excepcionesJava oo tema09_excepciones
Java oo tema09_excepciones
 
Guia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesasercionesGuia demanejodeexcepcionesaserciones
Guia demanejodeexcepcionesaserciones
 
5.manejo de excepciones
5.manejo de excepciones5.manejo de excepciones
5.manejo de excepciones
 
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
 
Tema 10 excepciones
Tema 10 excepcionesTema 10 excepciones
Tema 10 excepciones
 
Constructores & excepciones
Constructores & excepcionesConstructores & excepciones
Constructores & excepciones
 
Exceptions (2)
Exceptions (2)Exceptions (2)
Exceptions (2)
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Java exceptions
Java exceptionsJava exceptions
Java exceptions
 
Lab excepciones propias
Lab excepciones propiasLab excepciones propias
Lab excepciones propias
 
Manejo De Excepciones
Manejo De ExcepcionesManejo De Excepciones
Manejo De Excepciones
 
Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Jyoc java-cap12 excepciones
Jyoc java-cap12 excepcionesJyoc java-cap12 excepciones
Jyoc java-cap12 excepciones
 
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONESJAVA ORIENTADO A OBJETOS - EXCEPCIONES
JAVA ORIENTADO A OBJETOS - EXCEPCIONES
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Semana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuarioSemana 8 excepciones definidas por el usuario
Semana 8 excepciones definidas por el usuario
 
Uso de Excepciones en JAVA
Uso de Excepciones en JAVAUso de Excepciones en JAVA
Uso de Excepciones en JAVA
 

Viewers also liked

Java Exception Handling Best Practices - Improved Second Version
Java Exception Handling Best Practices - Improved Second VersionJava Exception Handling Best Practices - Improved Second Version
Java Exception Handling Best Practices - Improved Second VersionLemi Orhan Ergin
 
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología JavaEudris Cabrera
 
Java8 : Más allá de las Expresiones Lambdas
Java8 :  Más allá de las Expresiones LambdasJava8 :  Más allá de las Expresiones Lambdas
Java8 : Más allá de las Expresiones LambdasEudris Cabrera
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con javaEudris Cabrera
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma javaEudris Cabrera
 
Organización de perifericos de e s fuente-de_poder
Organización de perifericos de e s fuente-de_poderOrganización de perifericos de e s fuente-de_poder
Organización de perifericos de e s fuente-de_poderVictor Hugo Chavez Salazar
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java Eudris Cabrera
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracionEudris Cabrera
 
Best Practices in Exception Handling
Best Practices in Exception HandlingBest Practices in Exception Handling
Best Practices in Exception HandlingLemi Orhan Ergin
 
Exception handling & logging in Java - Best Practices (Updated)
Exception handling & logging in Java - Best Practices (Updated)Exception handling & logging in Java - Best Practices (Updated)
Exception handling & logging in Java - Best Practices (Updated)Angelin R
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersLemi Orhan Ergin
 

Viewers also liked (11)

Java Exception Handling Best Practices - Improved Second Version
Java Exception Handling Best Practices - Improved Second VersionJava Exception Handling Best Practices - Improved Second Version
Java Exception Handling Best Practices - Improved Second Version
 
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java
[ES] Introducción al Desarrollo de Aplicaciones utilizando Tecnología Java
 
Java8 : Más allá de las Expresiones Lambdas
Java8 :  Más allá de las Expresiones LambdasJava8 :  Más allá de las Expresiones Lambdas
Java8 : Más allá de las Expresiones Lambdas
 
[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java[ES] Programación orientada a objeto con java
[ES] Programación orientada a objeto con java
 
[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java[ES] Fundamentos esenciales de la plataforma java
[ES] Fundamentos esenciales de la plataforma java
 
Organización de perifericos de e s fuente-de_poder
Organización de perifericos de e s fuente-de_poderOrganización de perifericos de e s fuente-de_poder
Organización de perifericos de e s fuente-de_poder
 
[ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java [ES] Introdución a la plataforma java
[ES] Introdución a la plataforma java
 
[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion[ES] Colecciones y estructura de iteracion
[ES] Colecciones y estructura de iteracion
 
Best Practices in Exception Handling
Best Practices in Exception HandlingBest Practices in Exception Handling
Best Practices in Exception Handling
 
Exception handling & logging in Java - Best Practices (Updated)
Exception handling & logging in Java - Best Practices (Updated)Exception handling & logging in Java - Best Practices (Updated)
Exception handling & logging in Java - Best Practices (Updated)
 
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of DevelopersHappy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
Happy Developer's Guide to the Galaxy: Thinking About Motivation of Developers
 

Similar to [ES] Manejo de datos y excepciones (20)

Manejo de Excepciones
Manejo de ExcepcionesManejo de Excepciones
Manejo de Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
Capitulo II
Capitulo IICapitulo II
Capitulo II
 
Gestion de errores en java
Gestion de errores en javaGestion de errores en java
Gestion de errores en java
 
Actividad N° 1 Unidad 4
Actividad N° 1   Unidad 4 Actividad N° 1   Unidad 4
Actividad N° 1 Unidad 4
 
05 java excepciones
05 java excepciones05 java excepciones
05 java excepciones
 
Manejo Estructurado De Excepciones
Manejo Estructurado De ExcepcionesManejo Estructurado De Excepciones
Manejo Estructurado De Excepciones
 
Introduccion a la algoritmia 2011-i
Introduccion a la algoritmia   2011-iIntroduccion a la algoritmia   2011-i
Introduccion a la algoritmia 2011-i
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Introducción a la algoritmia
Introducción a la algoritmiaIntroducción a la algoritmia
Introducción a la algoritmia
 
Excepciones
ExcepcionesExcepciones
Excepciones
 
01 fundamentos-java
01 fundamentos-java01 fundamentos-java
01 fundamentos-java
 
Resumen
ResumenResumen
Resumen
 
Resumen
ResumenResumen
Resumen
 
Guia del trabajo con excepciones
Guia del trabajo con excepcionesGuia del trabajo con excepciones
Guia del trabajo con excepciones
 
Introducción a la Algoritmia
Introducción a la AlgoritmiaIntroducción a la Algoritmia
Introducción a la Algoritmia
 
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
 
Resumen claudia u5
Resumen claudia u5Resumen claudia u5
Resumen claudia u5
 
Javares
JavaresJavares
Javares
 

Recently uploaded

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 

Recently uploaded (13)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 

[ES] Manejo de datos y excepciones

  • 1. Let's Rock Java Fundamentos de Java Enterprise Edition con JDeveloper Eudris Cabrera Rodriguez Ingeniero Telemático Senior Software Developer Skype:eudriscabrera LinkedIn:http://www.linkedin.com/in/eudriscabrera Noviembre 2011, Santiago de los Caballeros, R. D.
  • 2. Objetivos 1. Introducir el entorno de desarrollo integrado (IDE) Oracle JDeveloper. 2. Enseñar fundamentos esenciales para trabajar con tipo de datos y estructuras de control. 3. Entender el manejo de excepciones en java.
  • 3. Agenda ● Introducción del entorno de desarrollo integrado(IDE) Oracle JDeveloper ○ Instalación de JDeveloper ○ Primeros pasos con Jdeveloper. ● Manejo de excepciones ○ Definición, manejo y creación personalizada.. ○ Uso de la Sentencia try/catch/finally/trows.
  • 4. Introducción a los Entornos de desarrollo integrado(IDE) Instalación de Oracle JDeveloper
  • 5. Instalación de Oracle JDeveloper Antes de instalar Jdeveloper debemos tener instalado el JDK. Como descargar Oracle JDeveloper desde la página de Oracle 1-Visitar el enlace http://www.oracle.com/technetwork/developer-tools/jdev/downloads/index.html 2- Existen varias opciones, la versión Oracle JDeveloper Studio Edition (Studio Edition: 11.1.2.1.0, que contiene el ADF Runtime y Oracle WebLogic Server 11g) y la versión JDeveloper Java Edition(Generic Release Java Edition: 11.1.2.1.0, que contiene el core de Java y funcionalidades XML). En nuestro caso vamos a elegir la segunda opción, ya que queremos ir conocimiento el entorno de desarrollo paso por paso. Pulsar el botón Download File in la opción Generic Release Java Edition: 11.1.2.1.0. Esperar que la descarga termine. 3- Esta version no necesita un instalador , solamente tenemos que descomprimir el archivo en el directorio deseado.
  • 6. Instalación de Oracle JDeveloper 4- Crear una directorio llamado Oracle en Archivos de programa y descomprimir el archivo jdevjava11121.zip dentro de dicho directorio. La instalación debe quedar como se muestra en la imagen.
  • 7. Instalación de Oracle JDeveloper Luego navegamos dentro del directorio jdeveloper y seleccionar el archivo ejecutable jdeveloper(muestra una tasa de café como ícono).
  • 8. Instalación de Oracle JDeveloper Luego de seleccionar el archivo jdeveloper, hacemos click derecho encima del mismo. Se mostrarán varias opciones que nos permitiran acceder al archivo desde cualquier lugar, podemos agregarlo al Menú de Inicio o podemos crear un enlace directo. Está a opción nuestra la forma a elegir.
  • 9. Instalación de Oracle JDeveloper Podemos iniciar a jdeveloper desde el menú de inicio o desde un enlace directo, según su selección anterior. Otra opción es utitlizar uno de los siguientes comandos desde el command prompt. MW_HOMEjdeveloperjdeveloper.exe MW_HOMEjdeveloperjdevbinjdevw.exe donde MW_HOME es el directorio principal donde descomprimimos anteriormente la instalación de jdeveloper. Al iniciar por primera vez, debemos especificar la ruta donde está nuestra instalación del jdk, ejemplo: C:Program FilesJavajdk1.6.0bin.
  • 11. Instalación de Oracle JDeveloper Si seleccionamos la ruta correcta, el programa presenta el splas screen(Primera pantalla que presenta al iniciar el programa). El programa puede preguntarnos que si queremos exportar la configuración de una instalación anterior. En nuestro caso, pulsamos la opción No. La primera vez que iniciamos el programas se presentará la siguiente pantalla.
  • 13. Instalación de Oracle JDeveloper Pulsamos todas las opciones y luego el botón Ok para continuar. Cerramos la ventana de Tip of the Day. Ahora podemos iniciar a usar a jdeveloper.
  • 15. Instalación de Oracle JDeveloper La instalación anterior es sólo para sistemas operativos Windows. Si desea leer más sobre la instalación en otros entornos de desarrollo podemos leer la guía oficial de instalación. http://download.oracle.com/docs/cd/E24382_01/install.1112/e17074/toc.htm Primeros pasos con JDeveloper
  • 16. Primeros pasos con Oracle JDeveloper
  • 17. Manejo de excepciones A diferencia de otros lenguajes de programación orientados a objetos como C/C++, Java incorpora en el propio lenguaje la gestión de errores. El mejor momento para detectar los errores es durante la compilación. Sin embargo prácticamente sólo los errores de sintaxis son detectados durante este periodo. El resto de problemas surgen durante la ejecución de los programas.
  • 18. Manejo de excepciones En el lenguaje Java, una excepción es un cierto tipo de error o una condición anormal que se ha producido durante la ejecución de un programa. Algunas excepciones son fatales y provocan que se deba finalizar la ejecución del programa. En este caso conviene terminar ordenadamente y dar un mensaje explicando el tipo de error que se ha producido. Otras, como por ejemplo no encontrar un fichero en el que hay que leer o escribir algo, pueden ser recuperables. En este caso el programa debe dar al usuario la oportunidad de corregir el error (indicando una nueva localización del fichero no encontrado).
  • 19. Manejo de excepciones Un buen programa debe gestionar correctamente todas o la mayor parte de los errores que se pueden producir. En los siguientes apartados se examina cómo y cuándo se deben lanzar excepciones, cuándo se deben capturar y cómo se crean las clases propias de tipo Exception.
  • 20. Manejo de excepciones EXCEPCIONES ESTÁNDAR DE JAVA:
  • 21. Manejo de excepciones Los errores se representan mediante dos tipos de clases derivadas de la clase Throwable: Error y Exception. La figura anterior muestra parcialmente la jerarquía de clases relacionada con Throwable: La clase Error está relacionada con errores de compilación, del sistema o de la JVM. De ordinario estos errores son irrecuperables y no dependen del programador ni debe preocuparse de capturarlos y tratarlos.
  • 22. Manejo de excepciones La clase Exception tiene más interés. Dentro de ella se puede distinguir: 1. RuntimeException: Son excepciones muy frecuentes, de ordinario relacionadas con errores de programación. Se pueden llamar excepciones implícitas. 2. Las demás clases derivadas de Exception son excepciones explícitas. Java obliga a tenerlas en cuenta y chequear si se producen.
  • 23. Manejo de excepciones El caso de RuntimeException es un poco especial. El propio Java durante la ejecución de un programa chequea y lanza automáticamente las excepciones que derivan de untimeException. El programador no necesita establecer los bloques try/catch para controlar este tipo de excepciones.
  • 24. Manejo de excepciones Representan dos casos de errores de programación: 1. Un error que normalmente no suele ser chequeado por el programador, como por ejemplo recibir una referencia null en un método. 2. Un error que el programador debería haber chequeado al escribir el código, como sobrepasar el tamaño asignado de un array (genera un ArrayIndexOutOfBoundsException automáticamente). En realidad sería posible comprobar estos tipos de errores, pero el código se complicaría excesivamente si se necesitara chequear continuamente todo tipo de errores (que las referencias son distintas de null, que todos los argumentos de
  • 25. Manejo de excepciones Las clases derivadas de Exception pueden pertenecer a distintos packages de Java. Algunas perenecen a java.lang (Throwable, Exception, RuntimeException, ...); Otras a java.io (EOFException, FileNotFoundException, ...) o a otros packages.
  • 26. Manejo de excepciones Por heredar de Throwable todos los tipos de excepciones pueden usar los métodos siguientes: 1. String getMessage() Extrae el mensaje asociado con la excepción. 2. String toString() Devuelve un String que describe la excepción. 3. void printStackTrace() Indica el método donde se lanzó la excepción.
  • 27. Manejo de excepciones LANZAR UNA EXCEPTION Cuando en un método se produce una situación anómala es necesario lanzar una excepción. El proceso de lanzamiento de una excepción es el siguiente: 1. Se crea un objeto Exception de la clase adecuada. Se lanza la excepción con la sentencia throw seguida del objeto Exception creado. // Código que lanza la excepción MyException una vez detectado el error MyException me = new MyException("MyException message"); throw me;
  • 28. Manejo de excepciones Esta excepción deberá ser capturada (catch) y gestionada en el propio método o en algún otro lugar del programa (en otro método anterior en la pila o stack de llamadas) Al lanzar una excepción el método termina de inmediato, sin devolver ningún valor. Solamente en el caso de que el método incluya los bloques try/catch/finally se ejecutará el bloque catch que la captura o el bloque finally (si existe). Todo método en el que se puede producir uno o más tipos de excepciones (y que no utiliza directamente los bloques try/catch/finally para tratarlos) debe declararlas en el encabezamiento de la función por medio de la palabra throws.
  • 29. Manejo de excepciones Si un método puede lanzar varias excepciones, se ponen detrás de throws separadas por comas, como por ejemplo: public void leerFichero(String fich) throws EOFException, FileNotFoundException {...} Se puede poner únicamente una superclase de excepciones para indicar que se pueden lanzar excepciones de cualquiera de sus clases derivadas.
  • 30. Manejo de excepciones El caso anterior sería equivalente a: public void leerFichero(String fich) throws IOException {...} Las excepciones pueden ser lanzadas directamente por leerFichero() o por alguno de los métodos llamados por leerFichero(), ya que las clases EOFException y FileNotFoundException derivan de IOException. Se recuerda que no hace falta avisar de que se pueden lanzar objetos de la clases Error o RuntimeException (excepciones implícitas).
  • 31. Excepciones chequeadas y en tiempo de corrida Java define una clase RuntimeException que es una extensión de Exception. Algunas subclases de RuntimeException son ArithmeticException, ClassCastException, IndexOutOfBoundsException, NullPointerException. A diferencia de Exception y otras subclases de Exception, el compilador no requiere que estas se mencionen en una cláusula throws. La razón es que estas excepciones representan errores de código que pudieran ocurrir en cualquier método, por lo que prácticamente todos los métodos tendrían que mencionarlas. Ha estas excepciones se les llama excepciones en tiempo de
  • 32. Excepciones chequeadas y en tiempo de corrida Las excepciones que deben ser mencionadas en la cláusula throws se les llama excepciones chequeadas porque el compilador chequea que la cláusula throws coincida con cualquier sentencia throw del método o throws de los métodos invocados.
  • 33. CAPTURAR UNA EXCEPTION Como ya se ha visto, ciertos métodos de los packages de Java y algunos métodos creados por cualquier programador producen (“lanzan”) excepciones. Si el usuario llama a estos métodos sin tenerlo en cuenta se produce un error de compilación con un mensaje del tipo: “... Exception java.io.IOException must be caugth or it must be declared in the throws clause of this method”.
  • 34. Manejo de excepciones El programa no compilará mientras el usuario no haga una de estas dos cosas: 1. Gestionar la excepción con una construcción del tipo try {...} catch {...}. 2. Re-lanzar la excepción hacia un método anterior en el stack, declarando que su método también lanza dicha excepción, utilizando para ello la construcción throws en el header del método. El compilador obliga a capturar las llamadas excepciones explícitas, pero no protesta si se captura y luego no se hace nada con ella. En general, es conveniente por lo menos imprimir un mensaje indicando qué tipo de excepción se ha
  • 35. Bloques try y catch En el caso de las excepciones que no pertenecen a las RuntimeException y que por lo tanto Java obliga a tenerlas en cuenta habrá que utilizar los bloques try, catch y finally. El código dentro del bloque try está “vigilado”: Si se produce una situación anormal y se lanza por lo tanto una excepción el control salta o sale del bloque try y pasa al bloque catch, que se hace cargo de la situación y decide lo que hay que hacer. Se pueden incluir tantos bloques catch como sean necesarios, cada uno de los cuales tratará un tipo de excepción.
  • 36. Bloques try y catch Las excepciones se pueden capturar individualmente o en grupo, por medio de una superclase de la que deriven todas ellas. El bloque finally es opcional. Si se incluye sus sentencias se ejecutan siempre, sea cual sea la excepción que se produzca o si no se produce ninguna. El bloque finally se ejecuta aunque en el bloque try haya un return.
  • 37. Relanzar una excepción Existen algunos casos en los cuales el código de un método puede generar una Exception y no se desea incluir en dicho método la gestión del error. Java permite que este método pase o relance (throws) la Exception al método desde el que ha sido llamado, sin incluir en el método los bucles try/catch correspondientes. Esto se consigue mediante la adición de throws más el nombre de la Exception concreta después de la lista de argumentos del método. A su vez el método superior deberá incluir los bloques try/catch o volver a pasar la Exception.
  • 38. Relanzar una excepción Según lo anterior, si un método llama a otros métodos que pueden lanzar excepciones (por ejemplo de un package de Java), tiene 2 posibilidades: 1. Capturar las posibles excepciones y gestionarlas. 2. Desentenderse de las excepciones y remitirlas hacia otro método anterior en el stack para éste se encargue de gestionarlas. Si no hace ninguna de las dos cosas anteriores el compilador da un error, salvo que se trate de una RuntimeException.
  • 39. Método finally El bloque finally {...} debe ir detrás de todos los bloques catch considerados. Si se incluye (ya que es opcional) sus sentencias se ejecutan siempre, sea cual sea el tipo de excepción que se produzca, o incluso si no se produce ninguna. El bloque finally se ejecuta incluso si dentro de los bloques try/catch hay una sentencia continue, break o return.
  • 40. Método finally El bloque finally es necesario en los casos en que se necesite recuperar o devolver a su situación original algunos elementos. No se trata de liberar la memoria reservada con new ya que de ello se ocupará automáticamente el garbage collector. Como ejemplo se podría pensar en un bloque try dentro del cual se abre un fichero para lectura y escritura de datos y se desea cerrar el fichero abierto. El fichero abierto se debe cerrar tanto si produce una excepción como si no se produce, ya que dejar un fichero abierto puede provocar problemas posteriores. Para conseguir esto se deberá incluir las sentencias correspondientes a cerrar el fichero dentro del bloque finally.
  • 41. CREAR NUEVAS EXCEPCIONES El programador puede crear sus propias excepciones sólo con heredar de la clase Exception o de una de sus clases derivadas. Lo lógico es heredar de la clase de la jerarquía de Java que mejor se adapte al tipo de excepción. Las clases Exception suelen tener dos constructores: 1. Un constructor sin argumentos. 2. Un constructor que recibe un String como argumento. En este String se suele definir un mensaje que explica el tipo de excepción generada. Conviene que este constructor llame al constructor de la clase de la que deriva super(String). Al ser clases como cualquier otra se podrían incluir variables y métodos nuevos.
  • 42. CREAR NUEVAS EXCEPCIONES Por ejemplo: class MiExcepcion extends Exception { public MiExcepcion() { // Constructor por defecto super(); } public MiExcepción(String s) { // Constructor con mensaje super(s); } }
  • 43. HERENCIA DE CLASES Y TRATAMIENTO DE EXCEPCIONES Si un método redefine otro método de una super-clase que utiliza throws, el método de la clase derivada no tiene obligatoriamente que poder lanzar todas las mismas excepciones de la clase base. Es posible en el método de la subclase lanzar las mismas excepciones o menos, pero no se pueden lanzar más excepciones. No puede tampoco lanzar nuevas excepciones ni excepciones de una clase más general.
  • 44. HERENCIA DE CLASES Y TRATAMIENTO DE EXCEPCIONES Se trata de una restricción muy útil ya que como consecuencia de ello el código que funciona con la clase base podrá trabajar automáticamente con referencias de clases derivadas, incluyendo el tratamiento de excepciones, concepto fundamental en la Programación Orientada a Objetos(polimorfismo).