用于在一行中捕获多个异常的 Python 程序

要理解这个例子,你应该具备以下 Python 编程 主题的知识


可以使用元组捕获多个异常。异常可以通过元组传递,如下例所示。

作为带括号的元组的多个异常

string = input()

try:
    num = int(input())
    print(string+num)
except (TypeError, ValueError) as e:
    print(e)

输入

a
2

输出

can only concatenate str (not "int") to str

在这里,我们尝试捕获两种类型的异常 `TypeError` 和 `ValueError`,它们作为元组内部传递到 `except` 块中。

在上面的例子中,字符串和整数不能相加,所以捕获到 `TypeError`。

让我们看另一个不同异常的例子。

输入

a
b

输出

invalid literal for int() with base 10: 'b'

在上面的例子中,第二个输入应该是一个整数,但我们传递了一个字符串 `‘b’`。因此,引发了 `ValueError`。

注意:在有多个异常的情况下,最先出现的错误会被捕获为异常。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战