您好,登录后才能下订单哦!
在Python3中,异常处理是通过try
和except
语句来实现的。当程序遇到错误时,Python会抛出一个异常。你可以使用try
语句来捕获这个异常,并使用except
语句来处理它。
下面是一个简单的例子:
try:
# 尝试执行的代码
result = 10 / 0
except ZeroDivisionError:
# 当遇到ZeroDivisionError异常时执行的代码
print("除数不能为0!")
在这个例子中,我们尝试执行result = 10 / 0
这行代码,但由于除数为0,Python会抛出一个ZeroDivisionError
异常。由于我们在try
语句块中捕获了这个异常,并在except ZeroDivisionError:
语句块中处理了它,所以程序不会崩溃,而是会打印出"除数不能为0!"。
你还可以使用多个except
语句来捕获不同类型的异常,并分别处理它们。例如:
try:
# 尝试执行的代码
result = 10 / 0
except ZeroDivisionError:
# 当遇到ZeroDivisionError异常时执行的代码
print("除数不能为0!")
except TypeError:
# 当遇到TypeError异常时执行的代码
print("类型错误!")
except Exception as e:
# 当遇到其他未指定的异常时执行的代码
print(f"发生了一个未知的错误:{e}")
在这个例子中,我们添加了两个额外的except
语句来捕获TypeError
异常和其他未指定的异常。如果程序遇到这些异常中的任何一个,它都会打印出相应的错误消息。
除了try
和except
语句外,Python还提供了else
和finally
语句来进一步控制异常处理流程。
else
语句:当try
语句块中的代码没有抛出任何异常时,else
语句块中的代码会被执行。finally
语句:无论是否发生异常,finally
语句块中的代码都会被执行。这通常用于清理资源或执行必要的收尾工作。下面是一个包含else
和finally
语句的例子:
try:
# 尝试执行的代码
result = 10 / 1
except ZeroDivisionError:
# 当遇到ZeroDivisionError异常时执行的代码
print("除数不能为0!")
else:
# 当try语句块中的代码没有抛出任何异常时执行的代码
print(f"结果是:{result}")
finally:
# 无论是否发生异常,都会执行的代码
print("异常处理结束。")
在这个例子中,由于try
语句块中的代码没有抛出任何异常,所以else
语句块中的代码会被执行,并打印出结果。然后,无论是否发生异常,finally
语句块中的代码都会被执行,并打印出"异常处理结束。"。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。