This is very odd to me. RuntimeException inherits from Exception, which inherits from Throwable.
RuntimeException
Exception
Throwable
catch(Exception exc)
catch (Exception ex) { ... }
WILL catch RuntimeException.
Whatever you put in catch block will be caught as well as the subclasses of it.