What is the java catch runtime exception?

410    Asked by AnishaDalal in Java , Asked on Oct 10, 2022

I read some code of a colleague and found that he often catches various exceptions and then always throws a 'RuntimeException' instead. I always thought this is very bad practice. Am I wrong?

Answered by Anisha Dalal

I do not know enough context to know whether your colleague is doing something incorrectly or not, so I am going to argue about this in a general sense. I do not think it is always an incorrect practice to turn checked exceptions into some flavour of java catch runtime exception. Checked exceptions are often misused and abused by developers.

It is very easy to use checked exceptions when they are not meant to be used (unrecoverable conditions, or even control flow). Especially if a checked exception is used for conditions from which the caller cannot recover, I think it is justified to turn that exception to a runtime exception with a helpful message/state. Unfortunately in many cases when one is faced with an unrecoverable condition, they tend to have an empty catch block which is one of the worst things you can do. Debugging such an issue is one of the biggest pains a developer can encounter. So if you think that you are dealing with a recoverable condition, it should be handled accordingly and the exception should not be turned into a runtime exception. If a checked exception is used for unrecoverable conditions, turning it into a runtime exception is justified.

Your Answer


Parent Categories