Python中文网

Python 异常与错误

Python3 异常与错误

在 Python 中,所有异常必须为一个派生自 BaseException 的类的实例。 在带有提及一个特定类的 except 子句的 try 语句中,该子句也会处理任何派生自该类的异常类(但不处理 它 所派生出的异常类)。 通过子类化创建的两个不相关异常类永远是不等效的,既使它们具有相同的名称。

下面列出的内置异常可通过解释器或内置函数来生成。除非另有说明,它们都会具有一个提示导致错误详细原因的“关联值”。 这可以是一个字符串或由多个信息项(例如一个错误码和一个解释错误的字符串)组成的元组。 关联值通常会作为参数被传递给异常类的构造器。

用户代码可以引发内置异常。 这可被用于测试异常处理程序或报告错误条件,“就像” 在解释器引发了相同异常的情况时一样;但是请注意,没有任何机制能防止用户代码引发不适当的错误。

异常层次结构 内置异常的类层次结构是:

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

欢迎加入Python新手QQ群 -->: 979659372 Python中文网_新手群


最新文章

Python中的ResourceWarning警告:原因和解决方法

Python中的ResourceWarning警告:原因和解决方法

ResourceWarning警告的含义

ResourceWarning 是Python中的一个警告类型,它通常表示一些资源正在被错误地使用或者没有正确释放。这可能会导致内存泄漏或者其他不良影响。ResourceWarning通常在Python程序中使用一些资源(如文件、套接字、数据库连接等)时出现。

ResourceWar...

47

Python中的ImportWarning警告及解决方法

Python中的ImportWarning警告及解决方法

ImportWarning警告的含义

在Python编程中,当导入模块或包时,有时可能会遇到ImportWarning警告。这个警告通常表示在导入过程中发生了某种问题,可能会影响程序的正常运行。ImportWarning警告要求开发者对导入过程进行检查,并可能需要采取措施来解决问题。...

41

什么是BlockingIOError?如何处理BlockingIOError异常?

什么是BlockingIOError?如何处理BlockingIOError异常?

了解BlockingIOError异常

BlockingIOError是Python中的一种异常,通常在使用非阻塞I/O操作时发生。非阻塞I/O操作是指在进行输入输出操作时,如果数据没有准备好或者没有足够的数据可用,程序会立即返回而不会发生阻塞。然而,当发生BlockingIOEr...

34

浮点数错误(Float Point Error):问题解析与解决方法

浮点数错误(Float Point Error):问题解析与解决方法

什么是浮点数错误

在计算机编程中,浮点数错误(Float Point Error)是指在处理浮点数时出现的错误,通常是由于浮点数的精度限制导致的问题。当程序试图对一个超出浮点数表示范围的数进行计算或比较时,就可能触发浮点数错误。

浮点数错误的类型

浮点数错误包括但不限于以下类型:

  • 上...

    159

Python IndexError异常详解及处理方法

Python IndexError异常详解及处理方法

IndexError异常简介

在Python编程中,IndexError是一种常见的异常,它通常发生在尝试访问列表、元组或其他序列类型数据时,索引超出范围的情况下。

IndexError异常示例

让我们用一个简单的示例来说明IndexError异常的发生情况:

47

Python中的raise语句:触发异常

Python中的raise语句:触发异常

Python中的raise语句用于手动触发异常。当您需要在特定条件下引发异常时,可以使用raise语句。本文将介绍如何使用raise语句来触发异常,以及一些最佳实践。

使用raise语句触发异常

raise语句允许您在代码中显式引发特定类型的异常。它的一般语法如下:

150

Python中的上下文管理器——`with as`语句

Python中的上下文管理器——`with as`语句

在Python编程中,上下文管理器是一种用于管理资源的工具,能够确保资源的正确分配和释放。它通常与`with`语句结合使用,以便在进入代码块之前获取资源,在离开代码块时释放资源。

上下文管理器的基本用法

使用 `with as` 语句来创建上下文管理器的基本语法如下:


with <... 

47

Python中的InterruptedError异常详解

Python中的InterruptedError异常详解

什么是InterruptedError异常?

在Python编程中,InterruptedError是一种系统异常,通常在操作系统信号中断或超时等情况下触发。这个异常表示一个系统调用被一个信号中断。

InterruptedError异常的常见场景

当在编写Python程序时,通常会遇到需要进行系统调用的情况,...

44

Python中的RuntimeWarning及其相关问题

Python中的RuntimeWarning及其相关问题

在Python编程中,RuntimeWarning是一种提醒开发者可能存在潜在问题的警告类型。了解这些警告及其相关问题对于代码的健壮性和可靠性都非常重要。

什么是RuntimeWarning?

RuntimeWarning是Python解释器在程序执行过程中遇到一些可能会导致运行时错误或不期望行为的情况时所发出的警告。这些警告并不会中断程序的执行,但是它们可能...

158

如何处理Python中的FutureWarning警告

如何处理Python中的FutureWarning警告

在Python编程过程中,我们经常会遇到各种警告信息,其中FutureWarning是一种常见的警告类型。本文将讨论FutureWarning的含义及处理方法,帮助您更好地处理Python中的警告信息。

FutureWarning警告的含义

FutureWarning警告是Python中的一种警告类型,它表示当前代码在将来的某...

45

Python异常之KeyError

Python异常之KeyError

2237

Python IOError

Python IOError

1783

Warning

Warning

1932

ValueError

ValueError

1634

UnboundLocalError

UnboundLocalError

1833

TypeError

TypeError

2268

SystemExit

SystemExit

2908

TabError

TabError

2030