| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /*
- * FileName:ExcptUtil.java
- * <p>
- * Copyright (c) 2017-2020, <a href="http://www.webcsn.com">hermit (794890569@qq.com)</a>.
- * <p>
- * Licensed under the GNU General Public License, Version 3 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * <p>
- * http://www.gnu.org/licenses/gpl-3.0.html
- * <p>
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
- package cn.com.lzt.common.util;
- import java.io.PrintWriter;
- import java.io.StringWriter;
- /**
- * 功能:异常的工具类
- * @author xiongliang
- *
- * mobile enterprise application platform
- * Version 0.1
- */
- public class ExcptUtil {
- /**
- * 将CheckedException转换为UncheckedException.
- */
- public static RuntimeException unchecked(Throwable e) {
- if (e instanceof RuntimeException) {
- return (RuntimeException) e;
- } else {
- return new RuntimeException(e);
- }
- }
- /**
- * 将ErrorStack转化为String.
- */
- public static String getStackTraceAsString(Throwable e) {
- StringWriter stringWriter = new StringWriter();
- e.printStackTrace(new PrintWriter(stringWriter));
- return stringWriter.toString();
- }
- /**
- * 判断异常是否由某些底层的异常引起.
- */
- public static boolean isCausedBy(Throwable ex, Class<? extends Exception>... causeExceptionClasses) {
- Throwable cause = ex.getCause();
- while (cause != null) {
- for (Class<? extends Exception> causeClass : causeExceptionClasses) {
- if (causeClass.isInstance(cause)) {
- return true;
- }
- }
- cause = cause.getCause();
- }
- return false;
- }
- }
|