【java】利用异常机制,往前台写错误信息

 

有时候,程序可能会报异常,而这些异常,通常需要提示前台操作人员怎么去处理,才能完成业务。

 

此时,我们只需要在业务层,自己抛出一个异常,自己捕捉之后,调用下类,即可输出到前台。

 

1.servlet里面可以这样写

try {

 

 ....

 

  } catch (Exception e) {

            e.printStackTrace();

            this.showWrongMessage(resp, e.getMessage());//调用此方法,输出一个弹出窗口到前台页面,传递message

            // logger.info(e.getMessage());

 }

2.html显示页面出错警告

 /*

* html显示页面出错警告

 *

 * @param response

 * @param message

 */

public void showWrongMessage(HttpServletResponse response, String message) {

 

    response.setContentType("text/html;charset=GBK");

    StringBuffer buf = new StringBuffer();

    buf.append("");

    buf.append("<html>");

    buf.append("<head>");

    buf.append("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=GBK\">");

    buf.append("<title>提示信息</title>");

    buf.append("</head>");

    buf.append("<body>");

    buf.append(" <script language=\"javascript\">");

     

    buf.append("var x = 640;");

    buf.append("var y = 480;");

    buf.append("var xx = (window.screen.width - x) / 2;");

    buf.append("var yy = (window.screen.height - y) / 2;");

     

    buf.append("window.close();");

    buf.append("var windowFeatures = \"width=\" + x + \",height=\" + y + \",status,scrollbars=yes,resizable,left=\" + xx + \",top=\" + yy + \"screenX=\" + xx + \",screenY=\" + yy; ");

     

     

    buf.append("var win=window.open('','',windowFeatures);");

    buf.append("win.document.write('<span class=\"bnew\">提示信息 :</span>');");

    buf.append("win.document.write('<center><p><pre style=\"color:red;border=2px\">sorry " + message + "</pe> </p></center>');");

    buf.append(" </script>");

    buf.append("</body>");

     

     

     

     

    /*

    buf.append("<body bgcolor=\"white\">");

    buf.append("<span class=\"bnew\">提示信息 :</span>");

    buf.append("<center><p><pre style='color:red;border=2px'>sorry " + message + "</pe> </p></center>");

    buf.append("</body>");

     */

    buf.append("</html>");

    byte[] bs = buf.toString().getBytes();

 

    ServletOutputStream ouputStream = null;

 

    try {

        ouputStream = response.getOutputStream();

        ouputStream.write(bs, 0, bs.length);

        ouputStream.flush();

    } catch (IOException e1) {

        e1.printStackTrace();

    } finally {

        if (ouputStream != null) {

            try {

                ouputStream.close();

            } catch (IOException e1) {

                e1.printStackTrace();

            }

        }

    }

}

【java】利用异常机制,往前台写错误信息

你可能感兴趣的:(java)