避免程序崩溃:Python异常处理全攻略

向量数据库大模型NoSQL数据库

点击上方蓝字关注我们

- PROGRAM LIST -

picture.image

异常处理

picture.image

异常处理是Python编程中不可或缺的一部分,它帮助程序在遇到错误时优雅地恢复而不是崩溃。在Python中,异常可以被捕获并由程序处理,而不是让程序立即停止。

picture.image

01

try-except语句

picture.image

当Python程序执行到一个错误时,会抛出异常。使用tryexcept语句,可以捕获并处理这些异常。基本的使用格式如下:

  
try:  
    # 尝试执行的代码  
    result = 10 / 0  
except ZeroDivisionError:  
    # 如果发生了ZeroDivisionError异常,则执行这里的代码  
    print("不能除以零")

在这个例子中,尝试执行10 / 0会导致一个ZeroDivisionError,因为除数不能为零。当这个错误发生时,程序不会崩溃,而是执行except块中的代码。

02

处理多个异常

picture.image

有时候,你的代码可能会抛出多种类型的异常,你可以通过多个except语句来捕获并分别处理它们:

  
try:  
    # 可能抛出多种异常的代码  
    value = dict()["key"]  
except KeyError:  
    print("发生了键错误")  
except ZeroDivisionError:  
    print("发生了除零错误")

 
 
 
 
 03


 
 
 else子句


 
 
 ![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/929106b5d24a49b29971beec92dcc0ce~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1756112418&x-signature=FdA48hLoqBUMkUu0mDK0WaO0xxo%3D)
 
 
 
 

else子句将在try块没有抛出异常时执行。这对于代码的清晰和逻辑分离非常有用:

  
try:  
    print("尝试执行")  
except KeyError:  
    print("发生键错误")  
else:  
    print("没有异常发生")

 
 
 
 
 04


 
 
 finally子句


 
 
 ![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/929106b5d24a49b29971beec92dcc0ce~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1756112418&x-signature=FdA48hLoqBUMkUu0mDK0WaO0xxo%3D)
 
 
 
 

finally子句无论是否发生异常都会执行。这非常适合用于清理资源,比如关闭文件或者网络连接:

  
try:  
    # 尝试打开文件  
    file = open("example.txt")  
    # 对文件进行操作  
except IOError:  
    print("文件打开失败")  
finally:  
    # 关闭文件  
    file.close()

 
 
 
 
 05


 
 
 抛出异常


 
 
 ![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/929106b5d24a49b29971beec92dcc0ce~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1756112418&x-signature=FdA48hLoqBUMkUu0mDK0WaO0xxo%3D)
 
 
 
 

你可以使用raise语句抛出异常。这对于创建自定义异常或者在某些条件下手动触发异常很有用:

  
def divide(x, y):  
    if y == 0:  
        raise ValueError("除数不能为0")  
    return x / y  
  
try:  
    result = divide(10, 0)  
except ValueError as e:  
    print(e)

 
 
 
 
 06


 
 
 总结  



 
 
 ![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/929106b5d24a49b29971beec92dcc0ce~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1756112418&x-signature=FdA48hLoqBUMkUu0mDK0WaO0xxo%3D)
 
 
 
 

异常处理是编写健壮Python程序的关键。通过合理使用try-exceptelsefinally子句,可以有效地捕获和处理程序中可能发生的错误。此外,使用raise语句抛出异常可以让你的代码更加安全和可靠。掌握这些异常处理技巧,将帮助你编写出更优雅、更健壮的Python代码

——The End——

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
基于火山引擎 EMR 构建企业级数据湖仓
火山引擎 EMR 是一款云原生开源大数据平台,提供主流的开源大数据引擎,加持了字节跳动内部的优化、海量数据处理的最佳实践。本次演讲将为大家介绍火山引擎 EMR 的架构及核心特性,如何基于开源架构构建企业级数据湖仓,同时向大家介绍火山 EMR 产品的未来规划。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论