Running from the command line results in a message that there is an Exception:
But, I didn't throw an Exception, I threw a Throwable. So, I wondered if the act of throwing a Throwable caused the jvm to throw an Exception and if so, of what type. However, that can't be true either, since any Exception would have been caught.
At this stage in a program's life, is it pointless attempting to distinguish between the two, or is there some subtlety to be understood here?
I think that this is actually a grammatical problem. The word "Exception" in the message means "An exception was thrown", not that specifically a "java.lang.Exception" was thrown. Both checked and unchecked Exceptions and Throwable are all exceptions in the abstract sense of the word.
And in the fundamental mechanisms which handle them.
Once a group of people sold their souls to the Devil to fight a Great Evil.
And they congratulated themselves, for they had employed a Flawed Vessel to Do Good.
But the Devil laughed. And he employed them to do evil many times and in many ways, Far more evil than that which they had thought to defeat. And though they counted themselves righteous, he now owned their souls.