Courseiva

PCEP Practice Question: Functions, Tuples, Dictionaries and Exceptions

Consider the code: try: try: raise TypeError except ValueError: print('A') except TypeError: print('B') finally: print('C'). What is printed?

⚠ Common exam trap

The PCEP exam often tests the distinction between exception types and the order of `except` blocks, tricking candidates into thinking a `finally` block suppresses exception propagation or that an inner `except` catches unrelated exception types.

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

✓

B and C

The inner `try` raises a `TypeError`. The inner `except ValueError` does not catch it, so the exception propagates to the outer `except TypeError`, which catches it and prints 'B'. The `finally` block always executes, printing 'C'. Thus, the output is 'B' and 'C'.

Answer analysis

Option-by-option breakdown

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

  • ✗

    A, B, and C

    Why it's wrong here

    The inner TypeError is not caught by the ValueError handler, so it propagates to the outer handler printing B, then finally prints C; A never executes. It is tempting because nested handlers appear to catch everything, and A, B, C would print if the inner raise were a ValueError.

  • ✗

    C only

    Why it's wrong here

    The outer except executes before finally.

  • ✓

    B and C

    Why this is correct

    The inner raise TypeError is not caught by the ValueError handler, so it propagates to the outer except TypeError, printing B. The finally block always executes, printing C afterwards. The ValueError branch never runs, so A is never printed.

  • ✗

    A and C

    Why it's wrong here

    A never prints because the inner except clause only catches ValueError, so the TypeError propagates outward and only B and C execute. It is tempting because the inner try appears to handle the exception, and A and C would be correct if the raised exception were a ValueError.

About these practice questions

This PCEP question is part of Courseiva's 482-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

This PCEP practice question is part of Courseiva's free Python Institute 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 PCEP exam.