【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封装返回结果应用 利用反射机制 返回结果以及错误信息
//此方法是自己琢磨的,可能有漏洞--符合我的系统目前的需求,大家可以借鉴public ResponseMessage exec (String funname, Object[] params,Ob ...
- Java的异常机制
Java的异常机制 (一)异常的概念 异常是指程序在编译或运行时出现的导致程序不能继续编译或运行的状况.. (二)Throwable类 Throwable类继承自Object类,是Java中所有错误或 ...
- 【转】Java利用反射机制访问私有化构造器
Java利用反射机制访问私有化构造器 博客分类: java 我们都知道,当一个类的构造方法被设为私有的时候(private),在其他类中是无法用new来实例化一个对象的. 但是有一种方法可以把带有 ...
- java利用反射机制判断对象的属性是否为空以及获取和设置该属性的值
1.java利用反射机制判断对象的属性是否为空: Map<String,String> validateMap = new LinkedHashMap<String, String& ...
- 关于java中异常机制
什么是异常:异常就是程序在运行时出现的不正常情况.对于严重的情况Java通过Error类进行描述,一般不用编写代码处理:对于不严重的情况Java通过Exception描述,一般编写针对性代码对其进行处 ...
- Java之异常机制(1) - 高效处理异常
Java开发人员做出的有关架构的最重要的决定之一便是如何使用Java异常模型.Java异常处理成为社区中讨论最多的话题之一.一些人认为Java语 言中的已检查异常(Checked Exceptions ...
- Java笔记 - 异常机制
JAVA异常机制是Java提供的用于处理程序在运行期可能出现的异常事件(如数组下标越界.文件不存在等)的一种机制,使程序不会因为 异常的发生 而 阻断或产生不可预见的结果 .而且还可以将逻辑代码与错误 ...
- Java——利用反射机制将表单数据自动填充到JavaBean中
以一个案例介绍反射机制的一种常见的使用场景,以及具体实现. 1.本文案例 在编写Java Web应用程序时,使用表单提交数据是一个必不可少的环节,后台对于前台使用表单提交的数据需要能够从请求中解析,并 ...
- 利用huson的日志获取编译错误信息的做法
作者:朱金灿 来源:http://blog.csdn.net/clever101 使用hudson编译一百多个VC工程,输出的日志有6M之大,摆在我面前的一个问题是如何利用这个日志信息来获取编译错误信 ...
随机推荐
- 对vpn的认识
网上关于vpn的资料非常多,看后眼花缭乱,仍然感觉一片混沌.网上,网下參考一些资料后.试着理清一些概念问题,由于,概念理清了,找到门了,才不至于左右徘徊,一片混沌. 首先vpn,这个我们都知道叫虚拟专 ...
- xcode 6.4模拟器出现多个相同版本:OSX Yosemite 上安装xcode7 beta和xcode6.4
错误现象是:我在OSX Yosemite上同时安装了Xcode 7Beta和Xcode 6.4,然后Xcode 6.4的模拟器出现了重复版本.截图如下: 解决方法是: 删除该路径下的所有文件:~/Li ...
- JavaScript 使用
HTML 中的脚本必须位于 <script> 与 </script> 标签之间. 脚本可被放置在 HTML 页面的 <body> 和 <head> 部分 ...
- MySQL - 复制数据表
假设现在有张数据表 users: CREATE TABLE users ( userid ) UNSIGNED NOT NULL, username ) UNIQUE, passwd ) ', PRI ...
- 基于slf4j的log4j实战
参考文档如下: http://blog.csdn.net/anialy/article/details/8529188 slf4j是接口,基于门面模式,可以实现log4j和logback 参考文档如下 ...
- 内网映射到公网工具 --- ngrok
ngrok可以将内网映射到公网上,这样就可以在公网上访问你的网络服务. 该工具通常在进行app开发和微信开发时比较有用,这样就可避免在公网服务器上单独部署项目,通过映射,直接连接本地服务即可进行开发. ...
- reflact中GetMethod方法的使用
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.R ...
- Eclipse vs IDEA快捷键对比大全(win系统)
花了几天时间熟悉IDEA的各种操作,将各种快捷键都试了一下,感觉很是不错! 以下为我整理了一下开发过程中经常用的一些Eclipse快捷键与IDEA的对比,方便像我一样使用Eclipse多年但想尝试些改 ...
- awk中split函数的用法
time='12:34:56' echo $time | awk '{split($0,a,":" ); print a[1]}' 12 echo $time | awk '{sp ...
- AspNetPage 使用案例
.首先在DBHelper创建一个方法,用于执行存储过程 public static DataTable ExecuteProc(string sql,params SqlParameter[] par ...