Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why are exceptions named checked and unchecked?

Tags:

java

Why is the two exception types in Java named "checked" and "unchecked"? What is the reason behind those names?

like image 942
LuckyLuke Avatar asked Oct 27 '12 21:10

LuckyLuke


1 Answers

If you call a method which is declared to throw a checked exception (such as IOException), the compiler will check that you're either catching it or declaring that you rethrow it. Likewise, in order to throw such a checked exception in the first place, the compiler checks that you've declared it as part of the method signature.

Basically, it's a little bit like type checking, except in terms of which exceptions can be thrown by a method.

The compiler doesn't perform any checking for unchecked exceptions - so they can be thrown by any method, without the method declaring them.

like image 185
Jon Skeet Avatar answered Sep 20 '22 18:09

Jon Skeet