📅  最后修改于: 2023-12-03 15:34:24.506000             🧑  作者: Mango
在编写Python代码时,我们可能会遇到各种错误和异常,这时就需要用到异常处理机制,以确保程序在出现异常时不会崩溃。
在Python中,异常处理包括四个关键字:try
、except
、else
和 finally
。下面分别介绍它们的作用和用法。
try
语句的作用是尝试执行一段代码,如果代码块中没有出现错误,则直接跳过except
语句,执行else
语句(如果有的话),最后执行finally
语句。如果代码块中出现了错误,则会跳转到except
语句,执行相应的代码块。
下面是try
语句的基本格式:
try:
# 尝试执行一段代码
except Exception as e:
# 出现异常时执行的代码
else:
# 代码块中没有出现异常时执行的代码
finally:
# 不管是否出现异常,都会执行的代码
其中,except
语句可选,else
语句和finally
语句也可选,但try
语句至少要包含一个except
语句或finally
语句。
except
语句用来处理try
语句中出现的异常,捕获特定类型的异常并进行相应的处理。如果没有指定特定类型的异常,则捕获所有异常。
下面是except
语句的基本格式:
try:
# 尝试执行一段代码
except Exception as e:
# 出现异常时执行的代码,e为异常对象
其中,Exception
是一个包含所有异常的基类,也可以指定其他具体的异常类,如SyntaxError
、TypeError
等。
else
语句用来处理try
语句中没有出现异常时的代码块,它跟在except
语句的后面。
下面是else
语句的基本格式:
try:
# 尝试执行一段代码
except Exception as e:
# 出现异常时执行的代码
else:
# 代码块中没有出现异常时执行的代码
finally
语句无论try
语句中是否出现异常,都会执行其中的代码块。通常用来释放资源、清理工作等。
下面是finally
语句的基本格式:
try:
# 尝试执行一段代码
except Exception as e:
# 出现异常时执行的代码
else:
# 代码块中没有出现异常时执行的代码
finally:
# 不管是否出现异常,都会执行的代码
下面是一个简单的代码示例,用于演示try
、except
、else
和finally
的使用:
try:
num1 = int(input("请输入一个整数:"))
num2 = int(input("请输入另一个整数:"))
result = num1 / num2
except ValueError:
print("输入的不是整数!")
except ZeroDivisionError:
print("除数不能为0!")
else:
print("结果为:%.2f" % result)
finally:
print("程序结束!")
在这个程序中,先让用户输入两个整数,然后尝试计算它们的商。如果输入的不是整数,则捕获ValueError
类型的异常,并输出错误信息;如果除数为0,则捕获ZeroDivisionError
类型的异常,并输出错误信息;如果没有出现异常,则输出计算结果。最后,不管是否出现异常,都会输出“程序结束!”。