最近项目中使用了自定义异常,并做了全局异常处理,抛出异常的代码如下
throw new FebsException("系统管理员不能修改颜色");
结果运行后,报java.lang.reflect.UndeclaredThrowableException: null,而且前端并没有显示对应的异常内容。
后来发现,问题出在FebsException这个自定义异常类上
public class FebsException extends Exception {
private static final long serialVersionUID = -994962710559017255L;
public FebsException(String message) {
super(message);
}
public FebsException() {
}
}
需要继承RuntimeException,不要继承Exception,即可
public class FebsException extends RuntimeException {
private static final long serialVersionUID = -994962710559017255L;
public FebsException(String message) {
super(message);
}
public FebsException() {
}
}
这样,项目就能正常运行,前端也能显示对应的异常内容。