我想更好地了解在j2ee
环境重构一些旧代码异常处理和日志记录(我们使用log4j
我们的记录机制)。我们的大多数当前的代码做类似下面的代码在业务层,但是,我想切换到unchecked异常,只是忽略它们,除非是有意义的地方处理它们:更好地了解例外和记录在J2EE环境
try {
doSomething();
} catch (MyException e) {
log.error("Exception:", e);
throw e;
}
后,在业务层中抛出异常,然后传播到表示层,该层再次捕获异常并通常将其包装在PortletException
或ServletException
中并再次抛出。然后,它由一个向用户显示“友好”消息的Spring处理程序处理。我最终只想处理我们想要显示特定错误消息的异常,并忽略其他所有内容。
问题:
- 是否需要登录到业务层的异常?如果没有,请问 我需要记录异常(特别是未经检查的异常)?
- 未使用log4j记录的未捕获异常会发生什么? (如果他们在控制台上还印着,什么是 log4j的目的是什么?)
我很困惑,过程是如何工作的?
感谢。
编辑:如果在外部库(Spring,Hibernate等)中发生异常,是否认为这些异常将使用任何正在使用的日志记录机制打印出来?在这种情况下,我想我只需要记录我的代码抛出的异常......或者我在这里基地?