在python中引发关键字?

时间:2012-05-22 09:09:31

标签: python python-3.x

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

由于 Mukthyar

4 个答案:

答案 0 :(得分:3)

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

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

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

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

答案 1 :(得分:2)

阅读Errors and Exceptions上的文档,尤其是Raising Exceptions section

  

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

>>>
>>> raise NameError('HiThere')
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
NameError: HiThere

答案 2 :(得分:2)

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

答案 3 :(得分:1)

您不需要在try/except块内,以便引发异常。另一方面,如果要捕获并处理异常,则需要使用try/except块。

如果没有tryexcept来编写finally,则会出现语法错误。或者确实在没有匹配except的情况下编写try。这些语言结构是密不可分的。