站内搜索: 请输入搜索关键词

当前页面: 开发资料首页J2SE 专题异常的问题

异常的问题

摘要: 异常的问题


大虾们想问一下,真正的项目投产后,我们的代码里边在一个方法里,如果有try...catch块的话,catch块中的内容需不需要这样写:
try{
...
}catch(Exception e){
e.printStackTrace();
}
其中的输出异常语句的那句话e.printStackTrace();用不用加上。急,谢谢!


不用加吧,给客户一个友好的界面!但是也是出问题了,呵呵!


那么你看一下这样的可不可以。
try{
...
}catch(Exception e){
conn.rollback();(这一句是回滚connection)
throw e;
}



不是必须加上的内容


首先 捕获到的异常是要处理的,或写日志或者报告给用户。
e.printStackTrace(); 只在控制台打印信息,多为调试使用,去留都可以。

我们做项目一般是写日志,屏蔽该语句,因为给客户的印象不好


唉~~~~
这个只能是你的程序捕获到异常了,但是你做处理了么?没有!!简单的打印出信息没有任何作用,除了对你的调式有点帮助之外!所以异常不仅仅是要捕获,还是需要处理!


e.printStackTrace(); 这个不应该出现的 应该做日志 或者对这个错误信息有更好的处理


e.printStackTrace(); 这个不应该出现的、我们公司交给客户是不允许在程序中出现 e.printStackTrace(); 和 system.out.print(); 语句的。

应该写 log 文件。


不好意思,再补一个问题:
try{
...
state.close();(state就是Statement)
}catch(Exception e){
...
}
如果出现异常,catch块中是否也需要对state关闭一下。


在try中抛出异常的地方以下的代码都不会被执行,所以关闭操做应该放在finnaly{}中


简单的 printStackTrace() 是肯定不行的。至于怎么处理,关键要看流程是怎么设计的。通常是在界面上显示一条笼统的错误信息,告诉用户操作不能进行下去了。


↑返回目录
前一篇: 求救  关于FOR循环...
后一篇: java如何实现启动窗口自动最大化?