Ver Mensaje Individual
  #9 (permalink)  
Antiguo 08/04/2005, 15:18
Avatar de stock
stock
 
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 20 años
Puntos: 53
Tema: Exception's
Pregunta: Como manejo las Exepciones y que son??
Respuesta: Las Exceptions son lanzadas por algunos metodos, y se lanzan cuando sucede algun error con el metodo, por ejemplo cuando una Base de Datos no se conecta correctamente o cuando no encuentra una tabla en la base de datos, etc.... los metodos lanzan exepciones que nos avisan que a ocurrido mal, cuando ocurre esto, tenemos 2 alternativas, Relanzarlas o Capturarlas, si las queremos relanzar pues no sabriamos que sucedio, en cambio si las capturamos podemos mostrar el error o mandar un mensaje en especifico.

Para relanzar las exeception unicamente le agregamos throws Exception al metodo.
Código PHP:
public class LanzarExceptions{
        public static 
void main(String arg[])throws Exception{
                
int num;
                
num Integer.parseInt(arg[0]);
                
System.out.println("El numero introducido es: " num);
        }

Para capturarlas usamos TRY,CATCH, FINALLY algo asi:
Código PHP:
public class CapturarExceptions{
     public static 
void main(String arg[]){
          
int num;
          try{
                
num Integer.parseInt(arg[0]);
                
System.out.println("El numero introducido es: " num);
          }catch(
Exception error){
                
System.out.println("El numero introducido no es valido, asegurate de que no contenga letras y que sea un numero entero. El error es: " error);
          }
           
finally{
                
//do nothing jejejeje :)
          
}
     }

Si te fijaste es mejor capturarlas y asi mostrar un mensaje con el error ocacionado.

-------- Agosto 15, 2006 -----------

Cabe mencionar que tambien podemos capturar diferentes errores, y desplegar diferentes mensajes o realizar otras cosas, dependiendo del error generado, en los ejemplos anteriores unicamente he puesto Exception, pero tembien existen clases que extienden de esta y que son mas especificas, como por ejemplo ClassNotFoundException, IOException,BadLocationException, etc... y todas estas heredan de la superclase Exception, ahora bien para capturar una por una lo hacemos asi:

Código PHP:
public class Capturar{
     public static 
void main(String arg[]){
          
int num;
          try{
                
num Integer.parseInt(arg[0]);
                
System.out.println("El numero introducido es: " num);
          }catch(
ArrayIndexOutOfBoundsException error){
                  
System.out.println("Es necesario pasar un numero como parametro.");
          }catch(
NumberFormatException e){
                  
System.out.println("La entrada "+arg[0]+" no es un numero!");
          }
finally{
                
//do nothing jejejeje :)
          
}
     }


-------- Febrero 8, 2006 -----------

Es importante mencionar que el bloque finally Siempre se ejecuta, independientemente de que se ocacione un error o no, esto es muy util cuando trabajamos con base de datos, pues nos aseguramos de cerrar la conexion a la DB y no dejarla abierta.

Última edición por stock; 15/08/2006 a las 15:14 Razón: Anotaciones extras