Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Learn Exception Hierarchy | Exception Usage
Error Handling in Python

bookException Hierarchy

Let's return to the OOP topic. The Exception is a class that has different instances.

12345678910111213
print("=== FIRST CASE ===") try: "string" + 5 # string + int except TypeError as error: print("TypeError:", error) print("Is instance of TypeError:", isinstance(error, TypeError)) print("=== SECOND CASE ===") try: "string" / 10 # string / int except TypeError as error: print("TypeError:", error) print("Is instance of TypeError:", isinstance(error, TypeError))
copy

In the example above, the error is a variable that contains the TypeError instance.

First CaseSecond Case
ClassTypeErrorTypeError
Action for exceptionstr + intstr / int
Messagecan only concatenate str (not "int") to strunsupported operand type(s) for /: 'str' and 'int'

So, we have different instances of the TypeError class with different messages

Exception Hierarchy

The Exception classes have a class hierarchy:

Every Exception class is inherited from the BaseException class.

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 2

Ask AI

expand

Ask AI

ChatGPT

Ask anything or try one of the suggested questions to begin our chat

Suggested prompts:

Ask me questions about this topic

Summarize this chapter

Show real-world examples

Awesome!

Completion rate improved to 11.11

bookException Hierarchy

Swipe to show menu

Let's return to the OOP topic. The Exception is a class that has different instances.

12345678910111213
print("=== FIRST CASE ===") try: "string" + 5 # string + int except TypeError as error: print("TypeError:", error) print("Is instance of TypeError:", isinstance(error, TypeError)) print("=== SECOND CASE ===") try: "string" / 10 # string / int except TypeError as error: print("TypeError:", error) print("Is instance of TypeError:", isinstance(error, TypeError))
copy

In the example above, the error is a variable that contains the TypeError instance.

First CaseSecond Case
ClassTypeErrorTypeError
Action for exceptionstr + intstr / int
Messagecan only concatenate str (not "int") to strunsupported operand type(s) for /: 'str' and 'int'

So, we have different instances of the TypeError class with different messages

Exception Hierarchy

The Exception classes have a class hierarchy:

Every Exception class is inherited from the BaseException class.

Everything was clear?

How can we improve it?

Thanks for your feedback!

SectionΒ 2. ChapterΒ 2
some-alt