【每日鲜蘑】如何自定义业务Exception 🔥

781 阅读1分钟

现状

业务异常,还要抛堆栈,在日志里一大段,影响性能还没啥用。

怎么办?

解决方式

重写fillInStackTrace将业务异常的堆栈信息丢掉

/**
 * Description: 业务异常 .<br>
 *
 * @author mxy
 * @Date 2020/8/10 10:48
 */
public class OnlineMallException extends RuntimeException {
    public OnlineMallException(String message) {
        super(message);
    }

    public OnlineMallException(Throwable cause) {
        super(cause);
    }

    /**
     * 吞掉堆栈信息,加快异常性能.
     *
     * @return
     */
    @Override
    public synchronized Throwable fillInStackTrace() {
        return this;
    }
}