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

简介: 有时候,程序可能会报异常,而这些异常,通常需要提示前台操作人员怎么去处理,才能完成业务。   此时,我们只需要在业务层,自己抛出一个异常,自己捕捉之后,调用下类,即可输出到前台。   1.

 

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

 

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

 

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();
            }
        }
    }
}

目录
相关文章
|
10天前
|
Java 数据库连接 开发者
Java的Shutdown Hook机制:优雅地关闭应用程序
Java的Shutdown Hook机制:优雅地关闭应用程序
18 1
|
12天前
|
Java 程序员 开发者
深入理解Java并发编程:线程同步与锁机制
【4月更文挑战第30天】 在多线程的世界中,确保数据的一致性和线程间的有效通信是至关重要的。本文将深入探讨Java并发编程中的核心概念——线程同步与锁机制。我们将从基本的synchronized关键字开始,逐步过渡到更复杂的ReentrantLock类,并探讨它们如何帮助我们在多线程环境中保持数据完整性和避免常见的并发问题。文章还将通过示例代码,展示这些同步工具在实际开发中的应用,帮助读者构建对Java并发编程深层次的理解。
|
1天前
|
前端开发 Java 应用服务中间件
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
【异常解决】java程序连接MinIO报错The request signature we calculated does not match the signature you provided.
|
1天前
|
Java 关系型数据库 MySQL
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
【JAVA进阶篇教学】第八篇:Java链接MySql数据库异常
|
2天前
|
Java 索引
【JAVA基础篇教学】第七篇:Java异常类型说明
【JAVA基础篇教学】第七篇:Java异常类型说明
|
2天前
|
Java 数据安全/隐私保护
java中异常处理机制
java中异常处理机制
10 1
|
3天前
|
算法 安全 Java
深入探索Java中的并发编程:CAS机制的原理与应用
总之,CAS机制是一种用于并发编程的原子操作,它通过比较内存中的值和预期值来实现多线程下的数据同步和互斥,从而提供了高效的并发控制。它在Java中被广泛应用于实现线程安全的数据结构和算法。
18 0
|
3天前
|
Java API 开发者
解密Java反射机制与动态代理
解密Java反射机制与动态代理
9 0
|
4天前
|
存储 Java 开发者
探索Java开发中触发空指针异常的场景
作为一名后端开发者在Java编程的世界中,想必大家对空指针并不陌生,空指针异常是一种常见而又令人头疼的问题,它可能会在我们最不经意的时候突然出现,给我们的代码带来困扰,甚至导致系统的不稳定性,而且最可怕的是有时候不能及时定位到它的具体位置。针对这个问题,我们需要深入了解触发空指针异常的代码场景,并寻找有效的方法来识别和处理这些异常情况,而且我觉得空指针异常是每个Java开发者都可能面临的挑战,但只要我们深入了解它的触发场景,并采取适当的预防和处理措施,我们就能够更好地应对这个问题。那么本文就来分享一下实际开发中一些常见的触发空指针异常的代码场景,并分享如何有效地识别和处理这些异常情况。
19 1
探索Java开发中触发空指针异常的场景
|
6天前
|
Java 数据库连接 开发者
Java中的异常处理机制详解
Java异常处理是确保程序健壮的关键,涉及Throwable的Error和Exception子类。Error由JVM抛出,不建议捕获;Exception分为检查异常(需要捕获)和未检查异常。处理异常的关键字有try、catch、finally、throw和throws。最佳实践包括捕获具体异常、不吞没异常、释放资源和避免滥用异常。示例展示了如何在main方法中处理IOException,并在finally块中进行资源清理。