You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.0 KiB
42 lines
1.0 KiB
/** |
|
* Copyright (C) 2018-2022 |
|
* All rights reserved, Designed By www.yixiang.co |
|
|
|
*/ |
|
package co.yixiang.utils; |
|
|
|
import co.yixiang.exception.BadRequestException; |
|
|
|
import javax.validation.ConstraintViolationException; |
|
import java.io.PrintWriter; |
|
import java.io.StringWriter; |
|
|
|
/** |
|
* 异常工具 2019-01-06 |
|
* @author Zheng Jie |
|
*/ |
|
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 BadRequestException(msg); |
|
} |
|
assert false; |
|
throw new BadRequestException("删除失败:" + t.getMessage()); |
|
} |
|
}
|
|
|