尝试并在Python中除外

要在python中使用异常处理,我们首先需要捕获所有except子句。

Python提供了“ try”和“ except”关键字来捕获异常。“ try”块代码将逐条语句执行。但是,如果发生异常,则不会执行其余的“ try”代码,并且将执行except子句。

try:
   some_statements_here
except:
   exception_handling

让我们通过一个非常简单的示例查看以上语法-

try:
   print("Hello, World!")
except:
   print("这是一条错误消息!")

输出结果

Hello, World!

上面是一个非常简单的示例,让我们通过另一个示例来了解上述概念-

import sys
List = ['abc', 0, 2, 4]
for item in List:
   try:
      print("The List Item is", item)
      r = 1/int(item)
      break
   except:
   print("Oops!",sys.exc_info()[0],"occured.")
   print('\n')
   print("Next Item from the List is: ")
   print()
print("The reciprocal of",item,"is",r)

输出结果

The List Item is abc
Oops! <class 'ValueError'> occured.
Next Item from the List is:
The List Item is 0
Oops! <class 'ZeroDivisionError'> occured.
Next Item from the List is:
The List Item is 2
The reciprocal of 2 is 0.5

在上面的程序中,循环一直运行到我们得到(作为用户输入)具有有效倒数的整数为止。导致引发异常的代码位于try块中。

如果发生某些异常,它将被except块捕获。我们可以使用不同的异常错误来测试上述程序。以下是一些常见的异常错误-

  • IOError

    在无法打开文件的情况下引发。

  • ImportError

    在缺少模块的情况下引发。

  • ValueError

    每当我们以正确的类型传递参数,但内置运算符或函数的值不合适时,就会发生这种情况。

  • 键盘中断

    每当用户按下中断键时(通常为Control-c)

  • EOF错误

    当内置函数达到文件结尾条件(EOF)而没有读取任何数据时,引发异常。