我正在编写一个Java应用程序,并且我希望我的异常具有统一格式。类似的东西:
try{
//...
} catch(Exception e){
log(clazz.getSimpleName() + ":" + e.getMessage() + ":" + e);
}
这意味着日志中的每个异常都将呈现以下方面,大致如下:
<class_name>.java: <message>: <exception>
我总是可以使用ExceptionDealer
方法编写一个“static
”类,该方法记录接收类名和异常实例本身的异常,但我不确定这是否会过度。
有没有优雅的方法呢?
答案 0 :(得分:1)
您可以抛出自定义异常并在构造函数中登录。
public class CustomException() extends Exception {
public CustomException(Exception ex) {
super(ex);
log(ex.getStackTrace[0].getClassName() + ":" + ex.getMessage());
}
}
然后在catch
} catch(Exception e){
throw new CustomException(e);
}