Courseiva
Question 182 of 513
Handling ExceptionsmediumMultiple SelectObjective-mapped

Java Checked Exceptions: SQLException and IOException Examples for OCP 17

Which TWO of the following are checked exceptions in Java?

Quick Answer

The correct answer is IOException, along with SQLException, because both are direct subclasses of java.lang.Exception that do not extend RuntimeException, making them checked exceptions in Java. A checked exception must be either caught in a try-catch block or declared in the method signature using the throws clause; SQLException is a classic example, thrown when database access fails due to connection issues or SQL syntax errors. On the Oracle Certified Professional Java SE 17 Developer 1Z0-829 exam, this concept tests your understanding of the Java exception hierarchy and the compiler’s requirement to handle checked exceptions explicitly. A common trap is confusing checked exceptions with unchecked ones—remember that any class extending RuntimeException or Error is unchecked, while everything else under Exception is checked. For a quick memory tip, think “SQL and IO are checked, so you must catch or throw.”

⚠ Common exam trap

Test-takers frequently confuse runtime exceptions (unchecked) with checked exceptions, mistakenly thinking that any exception that can occur at runtime is checked, but the key distinction is whether the exception class extends `RuntimeException` or not.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

SQLException

A is correct because `SQLException` is a subclass of `java.lang.Exception` (which is a checked exception class) and does not extend `RuntimeException`. Checked exceptions must be either caught or declared in the method signature; `SQLException` is commonly thrown when database access errors occur, such as connection failures or SQL syntax errors.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • SQLException

    Why this is correct

    SQLException is a checked exception.

  • ArithmeticException

    Why it's wrong here

    ArithmeticException is an unchecked exception.

  • ArrayIndexOutOfBoundsException

    Why it's wrong here

    ArrayIndexOutOfBoundsException is an unchecked exception.

  • NullPointerException

    Why it's wrong here

    NullPointerException is an unchecked exception.

  • IOException

    Why this is correct

    IOException is a checked exception.

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Same concept, more angles

2 more ways this is tested on 1Z0-829

These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.

Variation 1. Which of the following is a checked exception in Java?

easy
  • A.NullPointerException
  • B.ArrayIndexOutOfBoundsException
  • C.SQLException
  • D.IllegalArgumentException

Why C: SQLException is a checked exception because it extends Exception directly (not RuntimeException). Checked exceptions must be either caught with a try-catch block or declared in the method signature using 'throws'. SQLException is thrown by JDBC API methods when database access errors occur, forcing the developer to handle potential SQL failures at compile time.

Variation 2. Which of the following is a checked exception in Java?

easy
  • A.NullPointerException
  • B.ArithmeticException
  • C.IOException
  • D.IllegalArgumentException

Why C: IOException is a checked exception in Java. Checked exceptions are subclasses of Exception (excluding RuntimeException and its subclasses), and the compiler enforces that they are either caught or declared in the method's throws clause. IOException directly extends Exception, making it a checked exception that must be handled at compile time.

Last reviewed: Jun 11, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This 1Z0-829 practice question is part of Courseiva's free Oracle certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the 1Z0-829 exam.