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

解决方案 »

  1.   

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

  2.   

    首先 捕获到的异常是要处理的,或写日志或者报告给用户。
    e.printStackTrace(); 只在控制台打印信息,多为调试使用,去留都可以。我们做项目一般是写日志,屏蔽该语句,因为给客户的印象不好
      

  3.   

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

  4.   

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

  5.   

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

  6.   

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

  7.   

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