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
Ir a la versión completa