如果我们抛出ServletException,如何在日志中写任何东西?

时间:2012-01-20 12:39:44

标签: exception servlets log4j

如果我的servlet抛出ServletException

,我想在日志中创建一个条目
protected void doGet(HttpServletRequest request,
        HttpServletResponse response) throws ServletException{
    try {

    } catch (ServletException e) {
        log.warn("error");
        throw new SerletException(e);
    }

它会递归吗?这是处理异常的正确方法吗?

1 个答案:

答案 0 :(得分:2)

不,不会有递归,但是将异常包装在另一个异常中是不必要的。只需抛出e plain。

try {

} catch (ServletException e) {
    log.warn("error");
    throw e;
}

顺便说一下,更好的地方是Filter,它映射到/*的URL模式,因此您无需在所有servlet中重复它。

try {
    chain.doFilter(request, response);
} catch (ServletException e) {
    log.warn("error");
    throw e;
}