While catching the Throwable, Exception, Error and RuntimeException exceptions is bad, throwing them is even worse.
The basic problem is that when your application needs to handle exceptions, the presence of the top level exceptions make it hard to discriminate between different error conditions. ...