Python异常对象Exception基础类异常捕捉
在Python的程序执行过程中,如果遇到错误(即异常),Python解释器会停止程序的执行并抛出异常。为了更好地处理这些异常,Python提供了try
和except
语句来捕捉并处理异常。
try
和except
语句
在Python中,异常是一个类,它继承自BaseException
。当程序出现异常时,Python会创建一个异常对象,并在抛出异常时将这个对象传递给except
语句。
以下是一个try
和except
语句的基本格式:
try:
# 可能会引发异常的代码
except Exception:
# 异常处理的代码
try
语句包含需要尝试执行的代码块,如果在执行这个代码块时抛出了异常,Python会立即跳到except
语句中,并执行except
语句中的代码块来处理这个异常。
except
语句后面可以跟一种或多种异常类型,表示这个except
语句块只处理这些类型的异常。如果没有指定异常类型,则默认处理所有类型的异常。
示例1
以下是一个示例,展示了如何捕获除零异常:
try:
x = 1 / 0
except ZeroDivisionError:
print("除数不能为零!")
上面的代码中,我们使用try
和except
语句来捕获了除零异常。如果执行这段代码时出现了除零异常,就会显示除数不能为零的错误信息。
示例2
以下是另一个示例,展示了如何使用try
和except
语句来处理打开文件时出现的异常:
try:
with open("test.txt", "r") as f:
# 对文件进行操作
except FileNotFoundError:
print("文件不存在!")
except PermissionError:
print("没有访问文件的权限!")
except Exception as e:
print("发生了其他异常:", e)
上面的代码中,我们使用with
语句打开文件,并在代码块中对文件进行操作。如果出现异常,Python会跳到相应的except
语句中并打印相应的错误信息。
finally
语句
除了try
和except
语句外,Python还提供了finally
语句。finally
语句的作用是保证无论是否发生异常,都会执行其中的代码块。在finally
语句中,我们可以释放资源、清理缓存、关闭文件等等。
以下是一个try
、except
和finally
语句的示例:
try:
# 可能会引发异常的代码
except Exception:
# 异常处理的代码
finally:
# 无论是否发生异常,都会执行的代码
示例3
以下是一个示例,展示了如何使用try
、except
和finally
语句来打开文件和关闭文件:
try:
f = open("test.txt", "r")
# 对文件进行操作
finally:
f.close()
上面的代码中,我们在try
块中打开了一个文件,并在其中对文件进行操作。在finally
块中,无论是否出现异常,文件都会被关闭。
总结
Python异常是一种标准的面向对象的机制,它可以让我们识别和处理程序中出现的错误。通过try
和except
语句,我们可以捕获这些异常并在程序中对它们进行处理。并且,如果需要对于处理完异常后需要执行的清理操作,finally
语句则非常重要。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python异常对象Exception基础类异常捕捉 - Python技术站