exception en java
TRANSCRIPT
Exception
en
Java
Boris Palacios
Barranquilla 2010
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".
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();
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.
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());
}
}
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("+++++++++++++++++++++++++++++++++");
}
}
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());
}
}
}
}
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
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)
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);
}
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.