The handler for the general type exceptions should not precede others or the exception will be caught and and their code will never be executed.
The blocks try, catch, and finally cannot be separated by any expressions including blank instruction.
If handled exception is not raised anywhere within the try block, then, the catch block in the handled exception is not executed as well.
However Exception any controlled exception is at the same time the parent of uncontrolled exception RuntimeException (and all the exceptions that inherit from it). Compiler assumes that an uncontrolled exception may always occur and, therefore, Exception handler is achievable.