While reading a chapter about printing an exception I played around with a code that prints the stack trace.
So instead of throwing and catching an exception, I created it and tried to display the stack trace of this, not yet fired, exception.
And the stack trace begins when the exception is instantiated. To my surprise - when this exception is thrown, this still holds true.
Which is ok I guess, since the exception is ought to be immutable I believe.
Anyway, the text in the chapter goes like this:
"The stack trace is usually the most helpful one because it is a picture in time the moment the exception is thrown."
Boyarsky, Jeanne; Selikoff, Scott. OCP Oracle Certified Professional Java SE 11 Developer Complete Study Guide (p. 438). Wiley. Kindle Edition.
But this is actually not true. Stack trace shows the stack at the moment the exception is instantiated - not thrown!
Of course, since we all use throw new idiom so much, it is basically the same thing.