package net.sourceforge.seqware.common.util.exceptiontools; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; /** * <p> * ExceptionTools class. * </p> * * @author boconnor * @version $Id: $Id */ public class ExceptionTools { /** * <p> * stackTraceToString. * </p> * * @param aThrowable * a {@link java.lang.Throwable} object. * @return a {@link java.lang.String} object. */ public static String stackTraceToString(Throwable aThrowable) { final Writer result = new StringWriter(); final PrintWriter printWriter = new PrintWriter(result); aThrowable.printStackTrace(printWriter); return result.toString(); } /** * <p> * causedBy. * </p> * * @param received * a {@link java.lang.Throwable} object. * @param cause * a {@link java.lang.Class} object. * @return a {@link java.lang.Throwable} object. */ public static Throwable causedBy(Throwable received, Class cause) { Throwable error = received; while (error != null) { if (cause.isInstance(error)) { return error; } error = error.getCause(); } return null; } }