"
当把异常作为常量时,打印的异常调用链不对
异常类
public class UserException extends RuntimeException {
private static final long serialVersionUID = -1932290828991021225L;
private State state;
public UserException() {
this.state = StateCode.SERVER_ERROR;
}
public UserException(String tip) {
this.state = new State(StateCode.SERVER_ERROR.getCode(), tip);
}
public UserException(int errCode, String tip) {
this.state = new State(errCode, tip);
}
public UserException(State state) {
this.state = state;
}
public State getState() {
return state;
}
public void setState(State state) {
this.state = state;
}
}
异常常量类
public interface TipExceptionConstants {
TipException ENTITY_NOT_EXIST = new TipException("对象不存在");
TipException NEED_LOGIN = new TipException("请用户登录");
}
测试类
@Slf4j
public class TestException {
public static void main(String[] args){
log.error("error : 10", TipExceptionConstants.ENTITY_NOT_EXIST);
log.info("------------------------");
log.info("------------------------");
log.error("error : 13", TipExceptionConstants.NEED_LOGIN);
log.info("------------------------");
}
}
打印出来的log
cn.test.exception.TipException: null
at cn.test.exception.TipExceptionConstants.<clinit>(TipExceptionConstants.java:11)
at test.TestException.main(TestException.java:10)
17:02:45.249 [main] INFO test.TestException - ------------------------
17:02:45.249 [main] INFO test.TestException - ------------------------
17:02:45.249 [main] ERROR test.TestException - error : 13
cn.test.exception.TipException: null
at cn.test.exception.TipExceptionConstants.<clinit>(TipExceptionConstants.java:12)
at test.TestException.main(TestException.java:10)
17:02:45.249 [main] INFO test.TestException - ------------------------
打印出来的堆栈调用链不对,两次调用链都是
at test.TestException.main(TestException.java:10)
第二个打印的异常log的调用链应该是第13行的代码,但是却显示了第一次打印的异常调用链。
"
一般提醒内容作为字符串常量
public final static String ENTITY_NOT_EXIST = "对象不存在";
打印的时候,作为参数传进去
log.error("error : 10", new UserException(TipExceptionConstants.ENTITY_NOT_EXIST));
######
已经做成常量了,stack trace初始化的时候是什么以后就是什么了
" ![image.png](https://ucc.alicdn.com/pic/developer-ecology/01f62a85fdb74002b365512094719fff.png)版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。