package com.canrd.webmagic.common.utils; import com.canrd.webmagic.common.exception.BusinessException; import javax.validation.ConstraintViolationException; import java.io.PrintWriter; import java.io.StringWriter; /** * 异常工具 2019-01-06 */ public class ThrowableUtil { /** * 获取堆栈信息 */ public static String getStackTrace(Throwable throwable) { StringWriter sw = new StringWriter(); try (PrintWriter pw = new PrintWriter(sw)) { throwable.printStackTrace(pw); return sw.toString(); } } public static void throwForeignKeyException(Throwable e, String msg) { Throwable t = e.getCause(); while ((t != null) && !(t instanceof ConstraintViolationException)) { t = t.getCause(); } if (t != null) { throw new BusinessException(msg); } assert false; throw new BusinessException("删除失败:" + t.getMessage()); } }