Foros del Web » Programación para mayores de 30 ;) » Java »

Mostrar en un DIV las Exception e que se lancen.

Estas en el tema de Mostrar en un DIV las Exception e que se lancen. en el foro de Java en Foros del Web. Buenos días, me gustaria saber si alguien ha hecho alguna clase que capture la excepcion por ejemplo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Java: Ver original Error al ...
  #1 (permalink)  
Antiguo 07/10/2010, 11:26
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Información Mostrar en un DIV las Exception e que se lancen.

Buenos días, me gustaria saber si alguien ha hecho alguna clase que capture la excepcion por ejemplo:

Código Java:
Ver original
  1. Error al escribir: java.lang.RuntimeException: java.sql.SQLException: ORA-00942: la tabla o vista no existe


y la muestre en la misma pagina en un div.

con jquery o con ajax.

Gracias.
  #2 (permalink)  
Antiguo 07/10/2010, 15:07
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Mostrar en un DIV las Exception e que se lancen.

Que yo sepa no, si estás utilizando algún framework tipo Struts, puedes capturarla con try/catch y pasársela a los gestores de errores.

Si estás con jsp a pelo, tendrás que pasarla como parámetro y crearte tu propia div que la muestre.
  #3 (permalink)  
Antiguo 07/10/2010, 15:15
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Información Respuesta: Mostrar en un DIV las Exception e que se lancen.

Gracias por responder, bueno, estoy usando jsp y servlet, una vez que procesa mi clase, encuentra un error y sale, le puse una clase para que lo mande por XML pero se sale, asi mas o menos.

Código java:
Ver original
  1. if (frMntRRCCDNI.getAccion().equals("procesarRegistro")){
  2.         try{
  3.             this.clsProcesaRegistro(srFacade, frMntRRCCDNI);
  4.         }catch(Exception e){
  5.             e.printStackTrace();
  6.             System.err.println("Error al escribir: "+e.toString());
  7.             this.clsErrorRegistro(srFacade,e);
  8.             return;
  9.         }
  10.     }
  11.  
  12.     }catch(Exception e) {
  13.        e.printStackTrace();
  14.        System.err.println("Error al escribir: "+e.toString());
  15.  
  16.     }finally {
  17.        PrintWriter out = srFacade.getResponseWriter();
  18.        out.print("0");            
  19.     }
  20.     }
  21.  
  22.     private void clsErrorRegistro(SrFacade srFacade, Exception e ) throws SQLException, IOException {
  23.     PrintWriter out = srFacade.getResponseWriter();
  24.     srFacade.setResponseContentType("text/xml");
  25.     srFacade.setHeader("Cache-Control", "no-cache");
  26.     out.write("<?xml version='1.0' encoding='ISO-8859-1'?>");
  27.     out.write("<MantenimientoRegistrosRespuestaProceso>");
  28.     out.write("<mensaje>");
  29.     out.write("<texto_msj><![CDATA[" + e + "]]></texto_msj> ");
  30.     out.write("</mensaje>");
  31.     out.write("<co_error>"+ "REG_NO_OK" + "</co_error>");
  32.     out.write("</MantenimientoRegistrosRespuestaProceso>");
  33.     out.close();

Alguna idea mas??,

Gracias.
  #4 (permalink)  
Antiguo 07/10/2010, 16:31
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Mostrar en un DIV las Exception e que se lancen.

Tu código me parece extrañísimo ¿Para mostrar algo en una div primero lo conviertes en XML?

Yo lo que haría sería guardar el texto de la excepción como atributo de la response, y después en la JSP que decido que va a recoger el error, mediante scriptlets <% ... %> (o etiquetas JSTL) recuperaría ese mensaje y lo mostraría en una DIV o en un alert de javascript.
  #5 (permalink)  
Antiguo 15/10/2010, 08:35
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Mostrar en un DIV las Exception e que se lancen.

Gracias Xerelo, y disculpa la demora, bueno, estaba llevando un patron solo Servlet, Jquery, XML y jsp, claro no uso mucho el JSTL, no sé porqué, pero hasta donde voy me sale, bueno te cuento un poco, todo lo que devuelve mi Base de datos lo paso a XML y lo pinto con jquery, entonces se me ocurrio capturar los errores Exception para mostrarlos de igual manera, en un mensaje con el ui de jquery


Salu2.
  #6 (permalink)  
Antiguo 15/10/2010, 08:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Mostrar en un DIV las Exception e que se lancen.

Xerelo, podrias darme un ejemplo de como lo harias por favor.

CITO: Yo lo que haría sería guardar el texto de la excepción como atributo de la response, y después en la JSP que decido que va a recoger el error, mediante scriptlets <% ... %> (o etiquetas JSTL) recuperaría ese mensaje y lo mostraría en una DIV o en un alert de javascript.

para tenerlo como guía..

Gracias.
  #7 (permalink)  
Antiguo 15/10/2010, 12:41
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Mostrar en un DIV las Exception e que se lancen.

En el servlet capturas el error y lo pasas a la request como atributo

request.setAttribute("error","texto del error")

y luego lo lees en la JSP mediante scriptlet o JSTL tags

<% if (request.getAttribute("error")!=null) { %>

<div><c:out value="${requestScope.error}"/></div>
<% } %>
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #8 (permalink)  
Antiguo 15/10/2010, 12:46
 
Fecha de Ingreso: noviembre-2008
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 2
Respuesta: Mostrar en un DIV las Exception e que se lancen.

Muchas gracias,

Por el tiempo dedicado, por la ayuda brindada y por contribuir con el Foro.


Salu2.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:50.