So you're saying I'm hallucinating while working?
No, the debugger (when using Visual Studio proper) breaks at the point of throwing (be it an explicit throw or something underlying like a NPE or out-of-bounds access), _I_ literally use this _all_ the time to fix code while in motion (set next statement on a line a bit back or even the same line to rewind just a tiny bit, change the code, fix errant variables, press F5 to continue and the IDE will rebuild and reposition instruction pointers and update stacks).
What the spec says about execution semantics of exceptions is one thing, what capabilities the debugger provides can be something entirely different.
Perhaps VSCode or some other environments don't have as good debuggers, but trust me when I say that it allows you do do exactly what you need.
Someone saying something in a comment doesn't negate a capability that person doesn't know about.