python常见的异常处理函数

python常见的异常处理函数

Python 的异常处理主要通过 try,except,finally,和 raise 关键字来实现。

1. try/except

这是 Python 中最常用的异常处理机制。try 块中的代码尝试执行,如果遇到任何异常,程序的控制流就会立即跳转到 except 块。如果在 except 块中没有指定异常类型,它将捕获所有类型的异常。

python 复制代码
try:  
    # 尝试执行的代码  
except ExceptionType:  
    # 当 ExceptionType 类型的异常被抛出时执行

例如:

python 复制代码
try:  
    x = 1 / 0  
except ZeroDivisionError:  
    print("Divided by zero!")

2. try/except/else

在 try/except 块之后,可以添加一个 else 块。如果 try 块中的代码没有抛出任何异常,则执行 else 块。

python 复制代码
try:  
    # 尝试执行的代码  
except ExceptionType:  
    # 当 ExceptionType 类型的异常被抛出时执行  
else:  
    # 如果 try 块中的代码没有抛出任何异常,则执行此块

例如:

python 复制代码
try:  
    x = 1 / 2  
except ZeroDivisionError:  
    print("Divided by zero!")  
else:  
    print("No exception!")

3. try/except/finally

无论 try 块中的代码是否抛出异常,finally 块中的代码都会被执行。这对于资源的清理操作非常有用,例如关闭文件或网络连接。

python 复制代码
try:  
    # 尝试执行的代码  
except ExceptionType:  
    # 当 ExceptionType 类型的异常被抛出时执行  
finally:  
    # 无论是否发生异常,此代码都将被执行

例如:

python 复制代码
try:  **加粗样式**
    x = 1 / 0  
except ZeroDivisionError:  
    print("Divided by zero!")  
finally:  
    print("Always executed!")
  1. raise语句

可以使用 raise 语句手动抛出异常。这是触发异常的常用方法。当 raise 语句被执行时,Python 的异常处理机制会立即接管程序的控制流。如果你想要抛出一个异常,可以使用 raise 语句并指定异常类型和可选的参数。例如:

python 复制代码
raise ValueError('Invalid value')  # 抛出一个 ValueError 异常,带有 "Invalid value" 的消息字符串。
相关推荐
全干engineer21 分钟前
Flask 入门教程:用 Python 快速搭建你的第一个 Web 应用
后端·python·flask·web
nightunderblackcat24 分钟前
新手向:Python网络编程,搭建简易HTTP服务器
网络·python·http
李昊哲小课27 分钟前
pandas销售数据分析
人工智能·python·数据挖掘·数据分析·pandas
C嘎嘎嵌入式开发1 小时前
python之set详谈
开发语言·python
之歆1 小时前
Python-正则表达式-信息提取-滑动窗口-数据分发-文件加载及分析器-浏览器分析-学习笔记
python·学习·正则表达式
往日情怀酿做酒 V17639296382 小时前
pytorch的介绍以及张量的创建
人工智能·pytorch·python
豌豆花下猫2 小时前
Python 潮流周刊#110:JIT 编译器两年回顾,AI 智能体工具大爆发(摘要)
后端·python·ai
June bug3 小时前
【Python基础】变量、运算与内存管理全解析
开发语言·python·职场和发展·测试
蹦蹦跳跳真可爱5893 小时前
Python----OpenCV(几何变换--图像平移、图像旋转、放射变换、图像缩放、透视变换)
开发语言·人工智能·python·opencv·计算机视觉
蹦蹦跳跳真可爱5893 小时前
Python----循环神经网络(Transformer ----Layer-Normalization(层归一化))
人工智能·python·rnn·transformer