-2

我是 python 编程的新手。是否可以在 python 中引发异常而不使用 try except 块(或)仅使用 except(或)仅使用 try 块。

谢谢穆克西尔

4

4 回答 4

3

您不需要它位于 try..except 块中,但是当您引发异常时,您总是希望捕获它并在代码中的某个位置处理它。这就是 try..except 块的使用。您需要在代码中的某处使用它来处理引发的异常,否则该异常将停止程序的执行。

于 2012-05-22T09:14:41.020 回答
3

您可以在代码中的任何位置引发异常,它将退出调用链上的所有函数,直到它到达匹配的 except 块。您不需要try 块内引发异常 - 只需捕获一个异常。

你可以在 try 块上拥有的全部内容如下所示:

try:
    ...
except A:
    ...
except B:
   ...
else:
   ...
finally:
   ...

你可以在文档中找到所有这些的完整定义,但我认为你要问的是你是否可以except:没有try:- 你不能。在try:上面是强制性的,你至少需要一个,但它可以是其中任何一个(你可以有多个,包括任意多个except:)。

于 2012-05-22T09:16:19.130 回答
2

阅读有关错误和异常的文档,尤其是引发异常部分

raise语句允许程序员强制发生指定的异常。例如:

>>>
>>> raise NameError('HiThere')
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: HiThere
于 2012-05-22T09:13:26.760 回答
1

您无需在try/except块内即可引发异常。另一方面,如果您想捕获并处理异常,那么您确实需要使用try/except块。

try不带exceptor写成语法错误finally。或者确实写except没有它的匹配try。这些语言结构有着千丝万缕的联系。

于 2012-05-22T09:14:44.043 回答