找到 10786 篇文章 适用于 Python

如何在 Python 中捕获 NotImplementedError 异常?

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:36:48

1K+ 次查看

用户定义的基类可以引发 NotImplementedError 来指示子类需要定义方法或行为,模拟接口。此异常派生自 RuntimeError。在用户定义的基类中,抽象方法在需要派生类覆盖方法时应引发此异常。示例import sys try:    class Super(object):         @property         def example(self):             raise NotImplementedError("子类应该实现此方法!")    s = Super()    print s.example except Exception as e:     print e     print sys.exc_type输出子类应该实现此方法!

如何在 Python 中捕获 ImportError 异常?

Rajendra Dharmkar
更新于 2020 年 6 月 12 日 07:42:03

4K+ 次查看

当无法导入模块或模块的成员时,会引发 ImportError。在两种情况下可能会引发 ImportError。如果模块不存在。示例import sys try:     from exception import myexception except Exception as e:     print e     print sys.exc_type输出没有名为 exception 的模块如果使用 from X import Y 并且在模块 X 中找不到 Y,则会引发 ImportError。示例 import sys  try:     from time import datetime  except Exception as e:     print e     print sys.exc_typeOUTPUT 无法导入名称 datetime

如何在 Python 中捕获 SystemExit 异常?

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:39:46

2K+ 次查看

在 python 文档中,SystemExit 不是 Exception 类的子类。BaseException 类是 SystemExit 的基类。因此,在给定的代码中,我们用 BaseException 替换 Exception 以使代码工作示例try: raise SystemExit except BaseException: print "它有效!"输出它有效!异常继承自 BaseException 而不是 StandardError 或 Exception,因此不会被意外地捕获捕获 Exception 的代码。我们最好这样编写代码示例try: raise SystemExit except SystemExit: print "它有效!"输出它有效!

如何在 Python 中捕获 StopIteration 异常?

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:40:43

1K+ 次查看

当迭代器完成时,它的 next 方法会引发 StopIteration。此异常不被视为错误。我们如下重写给定代码以捕获异常并了解其类型。示例import sys try: z = [5, 9, 7] i = iter(z) print i print i.next() print i.next() print i.next() print i.next() except Exception as e: print e print sys.exc_type 输出 5 9 7

如何在 Python 中捕获 StandardError 异常?\\\

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:41:26

425 次查看

有 Exception 类,它是 StopIteration、StandardError 和 Warning 的基类。所有标准错误都派生自 StandardError。一些标准错误,如 ArithmeticErrror、AttributeError、AssertionError,都派生自基类 StandardError。当属性引用或赋值失败时,会引发 AttributeError。例如,尝试引用不存在的属性:我们重写给定的代码并捕获异常并了解其类型。示例import sys try: class Foobar: def __init__(self): self.p = 0 f = Foobar() print(f.p) print(f.q) except Exception as e: print e print sys.exc_type print '这是一个 StandardError 异常的示例'输出0 Foobar ... 阅读更多

如何在 Python 中捕获 FloatingPointError 异常?

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:42:09

1K+ 次查看

当浮点运算导致错误时,会引发 FloatingPointError,当启用浮点异常控制 (fpectl) 时。启用 fpectl 需要使用 --with-fpectl 标志编译的解释器。给定代码如下重写以处理异常并查找其类型。示例import sys import math import fpectl try: print '控制关闭:',math.exp(700) fpectl.turnon_sigfpe() print '控制打开:',math.exp(1000) except Exception as e: print e print sys.exc_type 输出控制关闭:1.01423205474e+304 控制打开:in math_1

如何在 Python 中捕获 ZeroDivisionError 异常?

Rajendra Dharmkar
更新于 2020 年 2 月 12 日 10:42:53

463 次查看

当除法运算的分母中出现零时,会引发 ZeroDivisionError。我们如下重写给定代码以处理异常并查找其类型。示例import sys try: x = 11/0 print x except Exception as e: print sys.exc_type print e输出整数除法或模数为零

如何在 Python 中使用 Exception 捕获 ValueError?

Manogna
更新于 2020 年 6 月 12 日 07:56:10

299 次查看

当函数接收具有正确类型但值无效的值时,会使用 ValueError。给定代码可以如下重写以处理异常并查找其类型。示例import sys try: n = int('magnolia') except Exception as e: print e print sys.exc_type输出无效的 int() 基数 10 的文字:'magnolia'

如何在 Python 中捕获 LookupError 异常?

Manogna
更新于 2020 年 2 月 12 日 10:54:12

1K+ 次查看

LookupError 异常是当无法找到某些内容时引发的错误的基类。映射或序列上使用的键或索引无效时引发的异常的基类:IndexError、KeyError。当序列引用超出范围时,会引发 IndexError。给定代码如下重写以捕获异常并查找其类型示例import sys try: foo = [a, s, d, f, g] print foo[5] except IndexError as e: print e print sys.exc_type输出C:/Users/TutorialsPoint1~.py 列表索引超出范围

如何在 Python 中捕获 EnvironmentError 异常?

Manogna
更新于 2020 年 2 月 12 日 10:53:26

381 次查看

EnvironmentError 是来自 Python 之外(操作系统、文件系统等)的错误的基类。EnvironmentError 异常是 StandarError 类的子类。它是 IOError 和 OSError 异常的基类。它实际上不像其子类错误(如 IOError 和 OSError)那样被引发。任何 IOError 或 OSError 的示例也应该是 Environment Error 的示例。示例import sys try: f = open ( "JohnDoe.txt", 'r' ) except Exception as e: print e print sys.exc_type输出[Errno 2] 没有这样的文件或目录:'JohnDoe.txt'

广告