exception en java

13
Exception en Java Boris Palacios Barranquilla 2010

Upload: mack

Post on 18-Jun-2015

350 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Exception en Java

Exception

en

Java

Boris Palacios

Barranquilla 2010

Page 2: Exception en Java

Clase ClassNotFoundException

Se extiende de Exception

Produce cuando una aplicación intenta cargar en una clase a través de su cadena con el nombre:

El forName método de la clase Class.

El findSystemClass método de la clase ClassLoader.

El loadClass método de la clase ClassLoader.

pero no hay una definición de la clase con el nombre especificado podría ser encontrado.

A partir de la versión 1.4, esta excepción ha sido modificado para ajustarse a la excepción de uso general en cadena mecanismo. La "excepción facultativa que se planteó durante la carga de la clase" que se puede en prestar a los plazos de construcción y se accede a través del getException (), método que se conoce como la causa, y puede accederse a través del Throwable.getCause (), método, así como el ya mencionado "método heredado".

Page 3: Exception en Java

Clase SQLException

SQLException public class

se extiende Excetion

Una excepción que ofrece información sobre un error de acceso de bases de datos u otros errores.

Cada uno SQLException proporciona varios tipos de información:

una cadena que describe el error. Esto se utiliza como el mensaje de excepción de Java, disponible a través del método de getMesage.

un "SQLState cadena", que sigue bien las convenciones SQLState XOPEN o el SQL 99 convenios. Los valores de la cadena SQLState se describen en las especificaciones adecuadas. El DatabaseMetaDatamétodo getSQLStateType puede ser usado para descubrir si el controlador devuelve el tipo XOPEN o el SQL 99 tipo.

un código de error entero que es específica para cada proveedor. Normalmente, este será el código de error real devuelto por la base de datos subyacente.

una cadena a una excepción que viene. Esto puede ser usado para proporcionar información de error adicional.

Para mas información de el uso de estas excepciones tenemos este ejemplo, en donde se plaican las dos excepciones:

-Supongamos que tenemos una base de datos que se llama DATOS_TRABAJADORES, y una tabla llamada CLIENTES.

Import java.sql;

public class Consulta{

public static void main(String[] args){

try{ Class.forName(“com.mysql.jdbc.Driver”); }

catch(ClassNotFoundException e){ System.out.println(“”+e.getMessage()); }

try{

Connection conexion=DriverManager.getConnection

(“jdbc:mysql://localhost:3306/ DATOS_TRABAJADORES”,”root”,”12345”);

Statement estatuto=conexión.createStatement();

Page 4: Exception en Java

Estatuto.executeUpdate(“INSERT INTO CLIENTES ”);

}

catch(SQLException ex){ System.out.println(“”+ex.getMessage()); }

}

}

En el momento que el Driver no carge bien o la base de datos no sea encontrado el error será controlado.

Page 5: Exception en Java

Clase MalformedURLException

MalformedURLException clase pública

se extiende IOException

Lanzado para indicar que una dirección URL incorrecta se ha producido. O bien ningún protocolo legal podría ser encontrado en una cadena de especificación o la cadena no ha podido ser analizado.

Para ejemplo:

import java.net.*;

public class PruebaURL{

URL url;

public PruebaURL(){

try {

url = new URL("http://x.mty.itesm.mx/java#referencia");

despliega(url);

url = new URL("http","x.mty.itesm.mx",80,"/java");

despliega(url);

url = new URL("http","x.mty.itesm.mx","/java");

despliega(url);

URL urlBase = new URL("http://x.mty.itesm.mx/");

url = new URL(urlBase,"/pdiaz/java/index.htm");

despliega(url);

} catch(MalformedURLException e){

System.out.println(e.getMessage());

}

}

Page 6: Exception en Java

public static void main(String[] args){

new PruebaURL();

}

void despliega(URL url){

System.out.print(url.getProtocol()+" ");

System.out.print(url.getHost()+" ");

System.out.print(url.getPort()+" ");

System.out.print(url.getFile()+" ");

System.out.println(url.getRef());

System.out.println(url.toString());

System.out.println("+++++++++++++++++++++++++++++++++");

}

}

Page 7: Exception en Java

Clase InterruptedException

InterruptedException clase publica

se extiende Exception

Produce cuando un hilo está esperando, dormir, o de otro modo se detuvo por un tiempo y otro hilo lo interrumpe utilizando el interrupción método de la clase Tread.

Por Ejemplo vamos a mandar a imprimir una serie de números del 1 al 5 de una forma lenta:

public class Espera{

public static void main(String[] args){

for(int i=0;i<5;i++){

System.out.println(“ ”+i);

Try{

Thread.sleep(100);

}

catch(InterruptedException e){

System.out.println(e.getMessage());

}

}

}

}

Page 8: Exception en Java

Clase NulPointerException

Objeto no inicializado

Habitualmente, cuando llamanos desde un objeto no inicializado, a una función miembro.

public static void main(String[] args) {

String str;

str.length();

//...

}

El compilador se queja con el siguiente mensaje "variable str might not have been initilized". En otras ocasiones, se lanza una excepción del tipo NulPointerException. Fijarse que en la porción de código que sigue, grafico es una variable de instancia que es inicializada por defecto a null.

class MiCanvas....{

Grafico grafico;

public void paint(...){

grafico.dibuja();

//...

}

//...

}

Como vemos en la porción de código, si al llamarse a la función paint, el objeto grafico no ha sido inicializado con el valor devuelto por new al crear un objeto de la clase Grafico o de alguna de sus clases derivadas, se lanza la excepción NullPointerException apareciendo en la consola el siguiente texto.

Exception occurred during event dispatching:

java.lang.NullPointerException

Page 9: Exception en Java

at grafico1.MiCanvas.paint(MiCanvas.java:43)

at sun.awt.windows.WComponentPeer.handleEvent(Compiled Code)

at java.awt.Component.dispatchEventImpl(Compiled Code)

at java.awt.Component.dispatchEvent(Compiled Code)

at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

Page 10: Exception en Java

Clase Exception

Al programar aplicaciones con interficies gráficas de usuario (GUI) podemos escojer entre varios estilos o temas de apariencia visual.

A continuación mostraremos un ejemplo de cómo modificar la apariencia visual de las aplicaciones Java.

Primero es necesario importar la siguiente librería:

import javax.swing.UIManager;

Luego añadiremos el siguiente código para definir el lookandfeel de nuestra aplicación. En este caso usaremos la función UIManager.getSystemLookAndFeelClassName() para que Java utilize el mismo tema que el sistema (Si estamos en Windows se verán las aplicaciones con el mismo tema de Windows), en caso de haber error lo capturamos.

try {

UIManager.setLookAndFeel(

UIManager.getSystemLookAndFeelClassName()

);

}

catch ( Exception e ) {

JOptionPane.showMessageDialog(this, "Imposible modificar el tema visual", "Lookandfeel inválido.",

JOptionPane.ERROR_MESSAGE);

}

Page 11: Exception en Java

FileNotFoundException

FileNotFoundException clase pública

se extiende IOException

Indica que un intento de abrir el archivo identificado por una ruta de acceso especificada ha fallado.

Esta excepción será lanzada por FileInputStream, FileOutputStreamel, y RandomAccessFilelos constructores, cuando un archivo con la ruta especificada no existe. También será lanzada por estos constructores si el archivo no existe, pero por alguna razón no es accesible, por ejemplo, cuando se intenta abrir un archivo de sólo lectura para la escritura.

try { BufferedReader reader= new BufferedReader(new FileReader(args[0]));}catch (FileNotFoundException e){ ... }

Obs: catch (IOException e) atrapa también FileNotFoundException porque FileNotFoundException es una subclase de IOException.