private void setCause(Throwable cause) { if (ExceptionHelper.supportsNestedThrowable()) { ExceptionHelper.setCause(this, cause); } else { this.cause = cause; } }
private void setCause(Throwable cause) { if (ExceptionHelper.supportsNestedThrowable()) { ExceptionHelper.setCause(this, cause); } else { this.cause = cause; } }
/** * <p> * Return the exception that is the underlying cause of this exception. * </p> * * <p> * This may be used to find more detail about the cause of the error. * </p> * * @return the underlying exception, or <code>null</code> if there is not * one. */ public Throwable getUnderlyingException() { return (ExceptionHelper.supportsNestedThrowable()) ? ExceptionHelper.getCause(this) : cause; }
/** * <p> * Return the exception that is the underlying cause of this exception. * </p> * * <p> * This may be used to find more detail about the cause of the error. * </p> * * @return the underlying exception, or <code>null</code> if there is not * one. */ public Throwable getUnderlyingException() { return (ExceptionHelper.supportsNestedThrowable()) ? ExceptionHelper.getCause(this) : cause; }
/** * Get the underlying cause <code>Throwable</code> of the given exception * if this JDK supports the <code>Throwable#getCause()</code> method. */ public static Throwable getCause(Throwable exception) { if (supportsNestedThrowable()) { try { Method getCauseMethod = exception.getClass().getMethod("getCause", (Class[])null); return (Throwable)getCauseMethod.invoke(exception, (Object[])null); } catch (Exception e) { getLog().warn( "Unable to invoke getCause() method on class: " + exception.getClass().getName(), e); } } return null; }
/** * Get the underlying cause <code>Throwable</code> of the given exception * if this JDK supports the <code>Throwable#getCause()</code> method. */ public static Throwable getCause(Throwable exception) { if (supportsNestedThrowable()) { try { Method getCauseMethod = exception.getClass().getMethod("getCause", (Class[])null); return (Throwable)getCauseMethod.invoke(exception, (Object[])null); } catch (Exception e) { getLog().warn( "Unable to invoke getCause() method on class: " + exception.getClass().getName(), e); } } return null; }
/** * Set the given <code>Throwable<code>'s cause if this JDK supports * the <code>Throwable#initCause(Throwable)</code> method. */ public static Throwable setCause(Throwable exception, Throwable cause) { if (exception != null) { if (supportsNestedThrowable()) { try { Method initCauseMethod = exception.getClass().getMethod("initCause", new Class[] {Throwable.class}); initCauseMethod.invoke(exception, new Object[] {cause}); } catch (Exception e) { getLog().warn( "Unable to invoke initCause() method on class: " + exception.getClass().getName(), e); } } } return exception; }
/** * Set the given <code>Throwable<code>'s cause if this JDK supports * the <code>Throwable#initCause(Throwable)</code> method. */ public static Throwable setCause(Throwable exception, Throwable cause) { if (exception != null) { if (supportsNestedThrowable()) { try { Method initCauseMethod = exception.getClass().getMethod("initCause", new Class[] {Throwable.class}); initCauseMethod.invoke(exception, new Object[] {cause}); } catch (Exception e) { getLog().warn( "Unable to invoke initCause() method on class: " + exception.getClass().getName(), e); } } } return exception; }