OsynthException.java
package com.github.dakusui.osynth.exceptions;
import java.lang.reflect.InvocationTargetException;
public class OsynthException extends RuntimeException {
public OsynthException(Throwable e) {
super(e);
}
public OsynthException(String message) {
super(message);
}
public OsynthException(String message, Throwable cause) {
super(message, cause);
}
public static OsynthException from(String customMessage, Throwable e) {
if (e instanceof Error)
throw (Error) e;
if (e instanceof InvocationTargetException)
// False-missing coverage because of JaCoCo limitation
throw from(customMessage, ((InvocationTargetException) e).getTargetException());
else if (e instanceof OsynthException)
if (e.getCause() == null)
throw (OsynthException) e;
else
// False-missing coverage because of JaCoCo limitation
throw from(customMessage, e.getCause());
else if (e instanceof RuntimeException)
throw (RuntimeException)e;
else {
if (customMessage == null)
throw new OsynthException(e);
else
throw new OsynthException(customMessage, e);
}
}
}