All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.jqwik.engine.support.JqwikExceptionSupport Maven / Gradle / Ivy

There is a newer version: 1.9.1
Show newest version
package net.jqwik.engine.support;

import java.util.*;

public class JqwikExceptionSupport {

	/**
	 * Throw the supplied {@link Throwable}, masked as an
	 * unchecked exception.
	 *
	 * @param t   the Throwable to be wrapped
	 * @param  type of the value to return
	 * @return Fake return to make using the method a bit simpler
	 */
	public static  T throwAsUncheckedException(Throwable t) {
		JqwikExceptionSupport.throwAs(t);

		// Will never get here
		return null;
	}

	@SuppressWarnings("unchecked")
	private static  void throwAs(Throwable t) throws T {
		throw (T) t;
	}

	public static void rethrowIfBlacklisted(Throwable exception) {
		if (exception instanceof OutOfMemoryError) {
			throwAsUncheckedException(exception);
		}
	}

	public static boolean isInstanceOfAny(Throwable throwable, Class[] exceptionTypes) {
		return Arrays.stream(exceptionTypes).anyMatch(exceptionType -> exceptionType.isInstance(throwable));
	}

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy