要在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)而没有读取任何数据时,引发异常。