zoukankan      html  css  js  c++  java
  • 【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();
                }
            }
        }
    }

  • 相关阅读:
    ASP.NET
    jquery
    rowcommand事件中获取控件
    Net 自定义Excel模板导出数据
    代码阅读方法与实践---阅读笔记06
    代码阅读方法与实践---阅读笔记05
    代码阅读方法与实践---阅读笔记04
    软件需求十步走---阅读笔记03
    软件需求十步走---阅读笔记02
    软件需求十步走---阅读笔记01
  • 原文地址:https://www.cnblogs.com/ae6623/p/4416461.html
Copyright © 2011-2022 走看看