This is probably a very naive question.
I used to believe that a
It's possible to catch a Throwable object in Java without a stack trace:
Throwable(String message, Throwable cause, boolean enableSuppression,boolean writableStackTrace)
Constructs a new throwable with the specified detail message, cause, suppression enabled or disabled, and writable stack trace enabled or disabled.