找到 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 'Control off:', math.exp(700) fpectl.turnon_sigfpe() print 'Control on:', math.exp(1000) except Exception as e: print e print sys.exc_type 输出Control off: 1.01423205474e+304 Control on: 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输出integer division or modulo by zero

如何在 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输出invalid literal for int() with base 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 list index out of range

如何在 Python 中捕获 EnvironmentError 异常?

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

381 次浏览

EnvironmentError 是来自 Python 外部(操作系统、文件系统等)的错误的基类。EnvironmentError 异常是 StandarError 类的子类。它不是像其子类错误(如 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] No such file or directory: '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输出can only concatenate list (not ""str") to list

如何在 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", line 5 if i ... 阅读更多

如何在 Python 中捕获 SyntaxError 异常?

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

2K+ 次浏览

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

广告