Programación General > Java

 Try......catch

(1/1)

arielb:
k tal amigos, tengo una pregunta con respecto al uso del try. en java se puede atrapar especificamente la linea, el metodo, el tipo de error. para imprimir algo asi

Error:    erroratrapado
Linea:.   lineaatrapada
metodo: metodo donde sucedio el error

gracias de antemano

fcoavilez:
la sintaxis del uso del try/catch es la siguiente:

try{
      lineas de codigo donde
      prevees que ocurra una o mas excepciones;
     }
     catch(excepcionAManejar variable){
        codigo que se ejecutara en caso de
        que se presente la excepcionAManejar
     }

inmediatamente del cierre de la llave del try deben if los catch
puedes poner mas de un catch consecutivo
al presentarse la excepcion no se interrumpe el flujo normal
del programa, pasa a el catch que corresponda y ejecuta el codigo que esta en ese bloque

para ver cuales excepciones puedes manejar y como se llaman consulta el api de java.

saludos, espero te sirva la informacion.

fcoavilez:
ahhh se me olvidaba, la informacion que pretendes mostrar queda guardada en variable.



saludos.

Nagisa:
En Java las excepciones se modelan como diferentes clases, todas ellas derivadas de la clase Throwable. Esta clase tiene varios metodos que te permiten obtener la informacion que pretendes mostrar, como son getMessage() o getStackTrace().

El último te devuelve un array de StackTraceElement, que te da informacion sobre el estado de la pila en el momento que se produjo la excepcion. El primer elemento corresponde al elemento superior de la pila, y contiene el ultimo metodo que se llamo antes de que se produjera la excepcion.

Un esquema de codigo que puedes usar seria:


--- Código: Text --- try{ // Algo que pueda petar} catch (Exception e){ system.out.println("Error: " + e.getMessage()); StackTraceElement[] ste = e.getStackTrace(); system.out.println("Linea: " + ste[0].getLineNumber()); system.out.println("Metodo: " + ste[0].getMethodName());}  

Espero que te sea util. Saludos  :hola:

ing_marco:
Resumiendo las respuestas:
el Try catch te permite capturar excepciones y decirte cual fue la causa, pero no te dira de que metodo o en que linea puedes estar el error.
Utilizando StackTraceElement podras ver el estado final de la pila, eso te puede dar una ayuda pero de poca ayuda para lo que realmente necesitas.
pero tu segun parece tu deseas saber almenos donde ocurre el error, entonces tu podrias personalizar el mensaje.


--- Código: Text --- Try{ }Catch(Exception e){//aca pones elmensaje de deseas mostrar, diciendo en que metodo estas.} 

Navegación

[0] Índice de Mensajes

Ir a la versión completa