ZhangZhihui's Blog  

 

Figure 20.4: Built-in exceptions

The class BaseException is the base class of all the built-in exception classes. From BaseException, four classes named Exception, SystemExit, KeyboardInterrupt and GeneratorExit are derived. All the remaining built-in exception classes are derived directly or indirectly from the Exception class. The figure shows some of the classes derived from Exception class; there are many other classes also.

These classes are all present in builtins module, you can import this module and use dir function on it to see all the exception class names.

>>> import builtins

>>> dir(builtins)

['ArithmeticError', 'AssertionError', 'AttributeError', 'BaseException', 'BaseExceptionGroup', 'BlockingIOError', …………… tuple', 'type', 'vars', 'zip']

 

 

Figure 20.8: How to handle an exception

 

else Block

Figure 20.10: try statements with else blocks

The try statement can have an optional else clause. The else block should be placed after all the except blocks. It executes only when the try block terminates normally. It will not be executed if any exception is raised in try block or if the try block terminates due to a break, continue or return statement. If finally block is present in the try statement, then the else block should be placed before the finally block.

 

posted on 2024-07-31 21:03  ZhangZhihuiAAA  阅读(9)  评论(0编辑  收藏  举报