《人生苦短,我用python·十》python的异常使用
基本异常处理
Python 提供了 try…except 语句来处理异常。其基本结构如下:
try:
# 可能会引发异常的代码
risky_code()
except ExceptionType as e:
# 处理异常的代码
handle_exception(e)
示例
try:
x = 10 / 0
except ZeroDivisionError as e:
print("捕获到除零错误:", e)
在这个示例中,当尝试除以零时,会引发 ZeroDivisionError 异常,并在 except 块中捕获和处理。
多个异常处理
你可以在 except 语句中处理多种不同类型的异常:
try:
x = int("not a number")
except ValueError as e:
print("捕获到值错误:", e)
except TypeError as e:
print("捕获到类型错误:", e)
使用 else 和 finally
try…except 语句还可以与 else 和 finally 语句一起使用:
else 块中的代码仅在 try 块没有引发异常时执行。
finally 块中的代码无论是否引发异常都会执行,常用于清理资源。
try:
x = int(input("请输入一个整数: "))
except ValueError as e:
print("这不是一个整数!")
else:
print("输入的整数是:", x)
finally:
print("程序结束")
自定义异常
你可以定义自己的异常类,以便在程序中引发和捕获:
class MyCustomError(Exception):
pass
def risky_function():
raise MyCustomError("这是一个自定义错误")
try:
risky_function()
except MyCustomError as e:
print("捕获到自定义错误:", e)
异常传递
异常可以被传递到调用栈的上层,直到被捕获:
def func1():
raise ValueError("错误信息")
def func2():
try:
func1()
except ValueError as e:
print("捕获到 func1 的异常:", e)
func2()
在这个示例中,func1 引发的异常被 func2 捕获。
原文地址:https://blog.csdn.net/cs1395293598/article/details/140503238
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!