Skip to main content

Featured Post

Top 10 Advance Java Interview questions?

Top 10 Advance Java Interview questions?   What are the differences between abstract classes and interfaces in Java? What is the difference between ArrayList and LinkedList in Java? What is the purpose of the finalize() method in Java? What is polymorphism in Java and how is it achieved? What are the different types of inner classes in Java? What is the difference between static and non-static methods in Java? What are the different types of exceptions in Java and how do they differ? What is the difference between checked and unchecked exceptions in Java? How does Java handle multithreading and synchronization? What are the different types of JDBC drivers in Java and how do they differ?

What is the difference between checked and unchecked exceptions in Java?

Difference between checked and unchecked exceptions in Java?

In Java, there are two types of exceptions: checked and unchecked.

Checked Exceptions:

  1. Checked exceptions are the exceptions that must be handled by the programmer during compile time.
  2. The compiler will check whether you have handled the exception or not.
  3. Examples include IOException, SQLException, and ClassNotFoundException.

Unchecked Exceptions:

  1. Unchecked exceptions are the exceptions that are not required to be handled by the programmer during compile time.
  2. Unchecked exceptions occur at the runtime, and the programmer can handle them, but it is not required by the compiler.
  3. Examples include ArithmeticException, NullPointerException, and IndexOutOfBoundsException.

Here are some differences between checked and unchecked exceptions in Java:

  1. Handling: Checked exceptions must be handled explicitly, either by using a try-catch block or by throwing the exception, while unchecked exceptions do not need to be handled explicitly.

  2. Compilation: Checked exceptions are checked by the compiler at compile-time, while unchecked exceptions are not checked by the compiler at compile-time.

  3. Inheritance: Checked exceptions are directly inherited from the Exception class or one of its subclasses, while unchecked exceptions are directly inherited from the RuntimeException class or one of its subclasses.

  4. Source: Checked exceptions are generally caused by external factors like input/output errors, database errors, or network errors, while unchecked exceptions are generally caused by internal programming errors like null pointer exceptions or index out of bounds exceptions.

In summary, checked exceptions must be handled explicitly by the programmer at compile-time, while unchecked exceptions do not need to be handled explicitly and occur at runtime. Checked exceptions are generally caused by external factors, while unchecked exceptions are generally caused by internal programming errors.

Comments