code: public static void catchThrowable(ThrowingCallable actor, Class<? extends Throwable> clazz) {
          validateArguments(actor, clazz);
          catchThrowable(actor, clazz, false);
      }
docs: Use it to catch an throwable of a specific type and to get access to the thrown throwable (for further
  verifications).
  
  In the following example you catch throwables of type MyThrowable that are thrown by obj.doX():
  <code>catchThrowable(obj, MyThrowable.class).doX(); // catch
  if (caughtThrowable() != null) {
  assert "foobar".equals(caughtThrowable().getMessage()); // further analysis
  }</code> If <code>doX()</code>
  throws a <code>MyThrowable</code>, then {@link #caughtThrowable()} will return the caught throwable. If
  <code>doX()</code> does not throw a <code>MyThrowable</code>, then {@link #caughtThrowable()} will return
  <code>null</code>. If <code>doX()</code> throws an throwable of another type, i.e. not a subclass but another
  class, then this throwable is not thrown and {@link #caughtThrowable()} will return <code>null</code>.
  
  
  @param actor   The instance that shall be proxied. Must not be <code>null</code>.
  @param clazz The type of the throwable that shall be caught. Must not be <code>null</code>.