0
0
Pythonprogramming~5 mins

Exception hierarchy in Python - Cheat Sheet & Quick Revision

Choose your learning style9 modes available
Recall & Review
beginner
What is the base class for all exceptions in Python?
The base class for all exceptions in Python is <code>BaseException</code>. All other exceptions inherit from it.
Click to reveal answer
beginner
Which class do most user-defined exceptions inherit from?
Most user-defined exceptions inherit from the <code>Exception</code> class, which is a subclass of <code>BaseException</code>.
Click to reveal answer
intermediate
What is the difference between Exception and BaseException?
<code>BaseException</code> is the root of the exception hierarchy. <code>Exception</code> is a subclass used for most errors that programs should catch. Some exceptions like <code>SystemExit</code> and <code>KeyboardInterrupt</code> inherit directly from <code>BaseException</code> and are usually not caught by normal code.
Click to reveal answer
intermediate
Name two exceptions that inherit directly from BaseException and are usually not caught by normal exception handlers.
Two exceptions that inherit directly from BaseException are SystemExit and KeyboardInterrupt. They are used to exit programs or interrupt execution and are usually not caught by normal except Exception blocks.
Click to reveal answer
beginner
How does the exception hierarchy help in writing exception handling code?
The exception hierarchy allows you to catch broad categories of errors by catching a parent class like <code>Exception</code>, or catch specific errors by catching subclasses. This helps write flexible and clear error handling.
Click to reveal answer
Which class is the root of all exceptions in Python?
AError
BException
CStandardError
DBaseException
Which exception is NOT a subclass of Exception?
AValueError
BIndexError
CKeyboardInterrupt
DTypeError
If you want to catch most errors in your program, which class should you catch?
AException
BKeyboardInterrupt
CSystemExit
DBaseException
Which exception is raised when a program is asked to exit?
ASystemExit
BRuntimeError
CValueError
DException
Why should you avoid catching BaseException directly?
AIt does not catch any exceptions.
BIt catches all exceptions including system-exiting ones, which can cause problems.
CIt only catches syntax errors.
DIt is deprecated.
Explain the Python exception hierarchy starting from BaseException.
Think about which exceptions are caught normally and which are special.
You got /4 concepts.
    Why is it important to understand the exception hierarchy when writing try-except blocks?
    Consider how catching a parent class affects what errors you handle.
    You got /4 concepts.