Question 99 of 509
Handling ExceptionseasyMultiple ChoiceObjective-mapped

Quick Answer

The correct declaration is public void log(String message) throws LogException because it explicitly includes the checked exception in the method signature, which is the only way to satisfy the requirement that callers may either handle it with a try-catch or propagate it by adding their own throws clause. In Java, checked exceptions must be acknowledged at compile time, and the throws keyword is the mechanism that forces this choice on the caller—without it, the code would not compile. On the Oracle Certified Professional Java SE 17 Developer 1Z0-829 exam, this tests your understanding of the fundamental difference between checked and runtime exceptions: runtime exceptions (like NullPointerException) never require a throws declaration, while checked exceptions always do. A common trap is confusing the throws keyword with throw, or assuming that a checked exception can be silently ignored if the method body handles it internally. Remember the mnemonic: "Checked? Declare it there—throws in the air."

1Z0-829 Handling Exceptions Practice Question

This 1Z0-829 practice question tests your understanding of handling exceptions. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. After answering, compare your reasoning against the explanation and wrong-answer breakdown below. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

A team is designing a logging framework. The framework's core method log(String message) may throw a checked LogException if the logging system fails. The team wants to allow callers to choose whether to handle the exception or declare it as thrown. Which declaration of the log method satisfies this requirement?

Question 1easymultiple choice
Full question →

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

public void log(String message) throws LogException { ... }

Option A is correct because it declares the checked exception LogException in the throws clause, which forces callers to either handle it with a try-catch or propagate it by declaring throws in their own method. This satisfies the requirement that callers can choose how to deal with the exception, as checked exceptions must be acknowledged at compile time.

Key principle: Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Answer analysis

Option-by-option breakdown

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

  • public void log(String message) throws LogException { ... }

    Why this is correct

    Checked exception forces caller to handle or declare.

    Related concept

    Read the scenario before looking for a memorised answer.

  • public void log(String message) { ... }

    Why it's wrong here

    Cannot throw checked exception without declaration.

  • public void log(String message) throws Error { ... }

    Why it's wrong here

    Error is for serious JVM issues, not appropriate.

  • public void log(String message) throws RuntimeException { ... }

    Why it's wrong here

    RuntimeException is unchecked; callers are not forced to handle.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Oracle often tests the distinction between checked and unchecked exceptions, and the trap here is that candidates may think omitting throws or using RuntimeException/Error allows callers to choose, but only a checked exception declared with throws enforces the handling-or-declaring choice at compile time.

Detailed technical explanation

How to think about this question

Checked exceptions (subclasses of Exception but not RuntimeException) are part of Java's contract between method and caller; the compiler enforces that they are either caught or declared. Under the hood, the JVM does not distinguish between checked and unchecked exceptions at runtime, but the Java compiler uses the throws clause to verify exception handling at compile time. In real-world logging frameworks like Log4j or SLF4J, checked exceptions are rarely used for logging failures because they would force every logging call to handle or declare the exception, which is impractical; instead, they typically wrap failures in unchecked exceptions.

KKey Concepts to Remember

  • Read the scenario before looking for a memorised answer.
  • Find the constraint that changes the correct option.
  • Eliminate answers that are true in general but not in this case.

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option.

Real-world example

How this comes up in practice

A practitioner preparing for the 1Z0-829 exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. Answer the scenario, not the keyword: identify the specific constraint before choosing the most familiar-sounding option. Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

Related practice questions

Related 1Z0-829 practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free 1Z0-829 practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this 1Z0-829 question test?

Handling Exceptions — This question tests Handling Exceptions — Read the scenario before looking for a memorised answer..

What is the correct answer to this question?

The correct answer is: public void log(String message) throws LogException { ... } — Option A is correct because it declares the checked exception LogException in the throws clause, which forces callers to either handle it with a try-catch or propagate it by declaring throws in their own method. This satisfies the requirement that callers can choose how to deal with the exception, as checked exceptions must be acknowledged at compile time.

What should I do if I get this 1Z0-829 question wrong?

Identify which exam domain this question belongs to, review the core concept, then practise similar questions from the same domain.

What is the key concept behind this question?

Read the scenario before looking for a memorised answer.

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

1 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. A method reads a file and throws IOException. Which of the following is the correct way to declare the method?

easy
  • A.public void readFile() throws RuntimeException { ... }
  • B.public void readFile() throws Exception { ... }
  • C.public void readFile() { ... } // assumes try-catch inside
  • D.public void readFile() throws IOException { ... }

Why D: Option D is correct because the method explicitly declares that it throws IOException, which is a checked exception. In Java, if a method can throw a checked exception like IOException, it must either handle it with a try-catch block or declare it in the throws clause. This allows the caller to handle the exception appropriately.

Keep practising

More 1Z0-829 practice questions

Last reviewed: Jun 30, 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.