找到 34423 篇文章 适用于编程

如何在 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输出对于以 10 为底的 int(),无效的文本:'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'

如何在 Python 中捕获 TypeError 异常?

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

593 阅读量

TypeErrors 是由组合错误类型的对象或使用错误类型的对象调用函数引起的。示例import sys try : ny = 'Statue of Liberty' my_list = [3, 4, 5, 8, 9] print  my_list + ny except TypeError as e: print e print sys.exc_type输出只能将列表(而不是 ""str"")连接到列表

如何在 python 中捕获 IndentationError 异常?

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

1K+ 阅读量

任何时候解析器发现不遵循缩进规则的源代码时,都会发生 IndentationError。在导入模块时,我们可以捕获它,因为模块将在首次导入时编译。你无法在包含 try/except 块的同一模块中捕获它,因为对于此异常,Python 将无法完成模块的编译,并且模块中的任何代码都不会运行。我们将给定代码重写如下以处理异常示例try: def f(): z=['foo', 'bar'] for i in z: if i == 'foo': except IndentationError as e: print e输出"C:/Users/TutorialsPoint1/~.py", 第 5 行 if i ... 阅读更多

如何在 Python 中捕获 SyntaxError 异常?

SaiKrishna Tavva
更新于 2024年10月9日 13:57:01

2K+ 阅读量

任何时候解析器发现它不理解的源代码时,都会发生 SyntaxError。这可能是在导入模块、调用 exec 或调用 eval() 时发生。异常的属性可用于准确查找输入文本的哪个部分导致了异常。捕获 SyntaxError 异常为了找出代码的哪个部分导致语法错误,我们需要使用异常的某些属性来检查作为输入给出的文本的哪个部分导致了异常。示例在下面的示例代码中,eval() 将引发 SyntaxError,因为“Let's ... 阅读更多

广告