guava/src/com/google/common/base/Throwables.java
@Deprecated
  @GwtIncompatible
  public static void propagateIfPossible(@Nullable Throwable throwable) {
    if (throwable != null) {
      throwIfUnchecked(throwable);
    }
  }
@Deprecated
  @GwtIncompatible
  public static void propagateIfPossible(@Nullable Throwable throwable) {
    if (throwable != null) {
      throwIfUnchecked(throwable);
    }
  }
@ Deprecated @ GwtIncompatible public static void propagateIfPossible ( @ Nullable Throwable throwable ) { if ( throwable != null ) { throwIfUnchecked ( throwable ) ; } }
Propagates {@code throwable} exactly as-is, if and only if it is an instance of {@link
RuntimeException} or {@link Error}. Example usage:

<pre>
try {
someMethodThatCouldThrowAnything();
} catch (IKnowWhatToDoWithThisException e) {
handle(e);
} catch (Throwable t) {
Throwables.propagateIfPossible(t);
throw new RuntimeException("unexpected", t);
}
</pre>

@deprecated Use {@link #throwIfUnchecked}, which has the same behavior but rejects {@code
null}.
Propagates { @code throwable } exactly as - is if and only if it is an instance of { @link RuntimeException } or { @link Error } . Example usage :