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

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