Python 异常继承体系

Python 异常继承体系(version python3.4)

以下是按照  The Python Standard Library   翻译

The class hierarchy for built-in exceptions is:

BaseException 所有内建的异常的基类
 +-- SystemExit sys.exit()函数引发。当它不处理时,Python 解释器退出
 +-- KeyboardInterrupt 当用户点击中断键 (通常ctrl + C) 时引发
 +-- GeneratorExit 当调用一种generatorclose()方法时引发。它直接继承BaseException而不是Exception,因为它是从技术上讲不是一个错误。
 +-- Exception 所有内置的、 非系统退出异常是从该类派生的。应该从该类派生所有用户定义的异常。
      +-- StopIteration
      +-- ArithmeticError
      |    +-- FloatingPointError
      |    +-- OverflowError
      |    +-- ZeroDivisionError
      +-- AssertionError
      +-- AttributeError
      +-- BufferError 缓冲区相关的操作无法执行时引发
      +-- EOFError 当input()函数在文件尾(EOF)的条件下没有读到任何数据时被引发
      +-- ImportError import语句无法找到模块定义时引发
      +-- LookupError 当用于映射或序列的键或索引无效时引发
      |    +-- IndexError
      |    +-- KeyError
      +-- MemoryError 当OOM时被引发,但是其状态仍然能被拯救
      +-- NameError 当一个局部或者全局的名字没有找到时被引发
      |    +-- UnboundLocalError
      +-- OSError 当一个系统函数返回一个与系统相关的错误时引发
      |    +-- BlockingIOError
      |    +-- ChildProcessError
      |    +-- ConnectionError
      |    |    +-- BrokenPipeError
      |    |    +-- ConnectionAbortedError
      |    |    +-- ConnectionRefusedError
      |    |    +-- ConnectionResetError
      |    +-- FileExistsError
      |    +-- FileNotFoundError
      |    +-- InterruptedError
      |    +-- IsADirectoryError
      |    +-- NotADirectoryError
      |    +-- PermissionError
      |    +-- ProcessLookupError
      |    +-- TimeoutError
      +-- ReferenceError 当访问一个已经被GC的对象时被引发
      +-- RuntimeError 当一个错误不能被其他所有的错误检测到时被引发
      |    +-- NotImplementedError
      +-- SyntaxError 当解析器遇到语法错误时引发。非运行时错误。
      |    +-- IndentationError
      |         +-- TabError
      +-- SystemError 当解释器发现一个内部错误时引发
      +-- TypeError 当一个操作符或者函数应用到一个不合适的对象时引发
      +-- ValueError 当一个内置操作符或函数接收到一个类型正确但是值不合适的时候被引发
      |    +-- UnicodeError
      |         +-- UnicodeDecodeError
      |         +-- UnicodeEncodeError
      |         +-- UnicodeTranslateError
      +-- Warning
           +-- DeprecationWarning
           +-- PendingDeprecationWarning
           +-- RuntimeWarning
           +-- SyntaxWarning
           +-- UserWarning
           +-- FutureWarning
           +-- ImportWarning
           +-- UnicodeWarning
           +-- BytesWarning
           +-- ResourceWarning
  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的数据继承是面向对象编程的重要概念之一。 在Python中,一个类可以从另一个类继承属性和方法。被继承的类称为父类或基类,继承这些属性和方法的类称为子类或派生类。 通过继承,子类可以拥有父类的属性和方法,而无需重新编写相同的代码。这使得代码更加可重用和易于维护。 Python中的数据继承遵循以下几个基本原则: 1. 子类继承了父类的所有属性和方法,包括公共和私有的。私有属性和方法在子类中仍然可访问,但通常应当避免直接访问。 2. 子类可以添加自己的属性和方法,以扩展父类的功能。这使得子类具有父类的功能,并可以在其基础上进行更多的操作。 3. 子类可以重写父类的方法。当子类需要更改父类方法的行为时,可以在子类中重新定义该方法。这为子类提供了更大的灵活性和定制性。 4. 子类还可以继续被其他类继承,形成多层继承。这意味着一个类可以有多个父类,通过继承可以将多个类的属性和方法组合在一起。 使用数据继承可以提高代码的复用性和可维护性。它使得代码结构更加清晰,逻辑更加直观。此外,数据继承也有助于减少代码的冗余和重复,提高开发效率。 总而言之,Python中的数据继承是一种重要的编程概念,通过它可以实现代码的复用和扩展。通过继承,子类可以继承父类的属性和方法,并可以根据需要进行修改和扩展,从而提高代码的可维护性和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值