Python进阶(24)—异常的概述

◎知识点

  1. 什么是异常?

  2. 内置的异常类对象


◎脚本练习

▽ 什么是异常?

"""
什么是异常?
    异常指的是程序在没有语法错误的前提下,在运行期间产生的特定错误。
    每个特定错误都对应一个异常类对象。当产生某个特定错误时,其对应的异常类对象的实例对象就会被抛出。
    如果在程序中抛出的异常实例对象不进行捕获和处理,程序就会停止运行,并且打印错误的详细信息,包括:
    (1) Traceback,它指的是异常调用堆栈的跟踪信息,其中列出了程序中的相关行数
    (2) 对应的异常类对象的名称,以及异常的错误信息
        如果在程序中对抛出的异常实例对象进行捕获和处理,程序就会继续运行
        
    哪些特定错误会被看作异常呢?
    首先,python内置了很多异常类对象,其次,可以自定义异常类对象,
    所以,内置的异常类对象和自定义的异常类对象对应的错误会被看作异常。
"""

print(1 / 0)    # ZeroDivisionError: division by zero

# print('123' + 456)  # TypeError: can only concatenate str (not "int") to str

# print(int('abc'))   # ValueError: invalid literal for int() with base 10: 'abc'


▽ 内置的异常类对象

"""
内置的异常类对象
    python内置的异常类对象及其继承关系如下所示:
BaseException
 +-- SystemExit
 +-- KeyboardInterrupt
 +-- GeneratorExit
 +-- Exception
      +-- StopIteration
      +-- StopAsyncIteration
      +-- ArithmeticError
      |    +-- FloatingPointError
      |    +-- OverflowError
      |    +-- ZeroDivisionError
      +-- AssertionError
      +-- AttributeError
      +-- BufferError
      +-- EOFError
      +-- ImportError
      |    +-- ModuleNotFoundError
      +-- LookupError
      |    +-- IndexError
      |    +-- KeyError
      +-- MemoryError
      +-- NameError
      |    +-- UnboundLocalError
      +-- OSError
      |    +-- BlockingIOError
      |    +-- ChildProcessError
      |    +-- ConnectionError
      |    |    +-- BrokenPipeError
      |    |    +-- ConnectionAbortedError
      |    |    +-- ConnectionRefusedError
      |    |    +-- ConnectionResetError
      |    +-- FileExistsError
      |    +-- FileNotFoundError
      |    +-- InterruptedError
      |    +-- IsADirectoryError
      |    +-- NotADirectoryError
      |    +-- PermissionError
      |    +-- ProcessLookupError
      |    +-- TimeoutError
      +-- ReferenceError
      +-- RuntimeError
      |    +-- NotImplementedError
      |    +-- RecursionError
      +-- SyntaxError
      |    +-- IndentationError
      |         +-- TabError
      +-- SystemError
      +-- TypeError
      +-- ValueError
      |    +-- UnicodeError
      |         +-- UnicodeDecodeError
      |         +-- UnicodeEncodeError
      |         +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
           +-- ImportWarning
           +-- UnicodeWarning
           +-- BytesWarning
           +-- ResourceWarning
           
    对于每个异常类对象所表示的特定错误,可以参考官方文档:
    https://docs.python.org/3/library/exceptions.html
    
    所有内置异常类对象的基类是Exception
"""


◎脚本地址:https://github.com/anzhihe/learning/blob/master/python/practise/learn-python/python_advanced/exception_def.py

anzhihe 安志合个人博客,版权所有 丨 如未注明,均为原创 丨 转载请注明转自:https://chegva.com/5468.html | ☆★★每天进步一点点,加油!★★☆ | 

您可能还感兴趣的文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注