
net.auoeke.reflect.Exceptions Maven / Gradle / Ivy
package net.auoeke.reflect;
import java.util.function.Function;
/**
@since 4.9.0
*/
class Exceptions {
private static final Pointer detailMessage = Pointer.of(Throwable.class, "detailMessage");
private static final Pointer stackTrace = Pointer.of(Throwable.class, "stackTrace");
private static final StackTraceElement[] defaultStackTrace = stackTrace.getT(new Throwable());
public static T message(T trouble, String message) {
detailMessage.putReference(trouble, message);
return trouble;
}
public static T message(T trouble, Function transformer) {
return message(trouble, transformer.apply(trouble.getMessage()));
}
public static T stackTrace(T trouble, StackTraceElement[] trace) {
stackTrace.putReference(trouble, trace);
return trouble;
}
public static T clearStackTrace(T trouble) {
return stackTrace(trouble, defaultStackTrace);
}
public static T disableStackTrace(T trouble) {
return stackTrace(trouble, null);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy