Java EE 项目中异常处理(3)

  我们注意到,一个错误被记录了两次.在错误的起源位置我们仅是以info级别进行记录。而在sendUserPassword方法中,我们还把整个异常信息都记录了。

  笔者曾看到很多项目是这样记录异常的,不管三七二一,只有遇到异常就把整个异常全部记录下。如果一个异常被不断的封装抛出多次,那么就被记录了多次。那么异常倒底该在什么地方被记录?

  异常应该在最初产生的位置记录!

  如果必须捕获一个无法正确处理的异常,仅仅是把它封装成另外一种异常往上抛出。不必再次把已经被记录过的异常再次记录。

  如果捕获到一个异常,但是这个异常是可以处理的。则无需要记录异常

  Java 代码

  public Date getDate(String str){

  Date applyDate = null;

  SimpleDateFormat format = new SimpleDateFormat(“MM/dd/yyyy”);

  try{

  applyDate = format.parse(applyDateStr);

  }

  catch(ParseException ex){

  //乎略,当格式错误时,返回null

  }

  return applyDate;

  }

  捕获到一个未记录过的异常或外部系统异常时,应该记录异常的详细信息java 代码

  try{

  ……

  String sql=”select * from userinfo”;

  Statement s = con.createStatement();

  ……

  Catch(SQLException sqlEx){

  Logger.error(“sql执行错误”+sql+sqlEx);

  }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwpjzj.html