Python---异常

捕获全部异常

语法:

try:

可能发生的错误代码

except:

如果出现异常执行的代码

例子:

python 复制代码
try:
    open("test2.txt", "r", encoding="UTF-8")
except:
    print("出现异常,文件不存在,换个模式打开")
    open("test2.txt", "w", encoding="UTF-8")

捕获指定异常

语法:

try:

可能发生的错误代码

except 异常名字 as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    print(name)
    # 1 / 0
except NameError as e:
    print("捕获指定异常")

捕获多个指定异常

语法:

try:

可能发生的错误代码

except (异常名字1,异常名字2) as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    1 / 0
except (NameError, ZeroDivisionError) as e:
    print("捕获多个指定异常")

捕获全部异常(使用较多)

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

例子:

python 复制代码
try:
    1 / 0
except Exception as e:
    print("捕获所有异常")

异常else --- 没有异常执行的代码

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

else:

没有异常执行的代码

例子:

python 复制代码
try:
    open("test.txt", "r", encoding="UTF-8")
except Exception as e:
    print("出现异常了")
else:
    print("没有异常")

异常的finally --- 无论是否有异常都要执行的代码

语法:

try:

可能发生的错误代码

except Exception as e:

如果出现异常执行的代码

finally:

无论是否有异常都要执行的代码

例子:

python 复制代码
try:
    f = open("test.txt", "r", encoding="UTF-8")
except Exception as e:
    print("出现异常了")
    f = open("test.txt", "w", encoding="UTF-8")
else:
    print("没有异常")
finally:
    f.close()

异常具有传递性

例子:

python 复制代码
def func01():
    print("1-1")
    num = 1/0
    print("1-2")

def func02():
    print("2-1")
    func01()
    print("2-2")

def main():
    print("3-1")
    try:
        func02()
    except Exception as e:
        print(e)
    print("3-2")

main()
相关推荐
ZhengEnCi1 小时前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab
曲幽1 小时前
你的REST接口还在“过度投喂”数据吗?——FastAPI + GraphQL实战避坑指南
python·fastapi·web·graphql·route·cors·rest·strawberry
用户8358086187912 小时前
基于 Self-RAG 与列表级重排序的进阶 RAG 系统设计与实现
python
Warson_L19 小时前
Python `Annotated` 与 LangGraph Reducer 学习笔记
python
韩师傅19 小时前
海天线算法的前世今生
python·计算机视觉
韩师傅19 小时前
当你的甲方设备过烂,要如何快速出效果?
python·计算机视觉
Warson_L19 小时前
LangGraph的MessageState and HumanMessage
python
韩师傅19 小时前
当你的甲方吐槽天空不够蓝,你应该如何应对
python·计算机视觉
Warson_L20 小时前
python的类&继承
python
Warson_L20 小时前
类型标注/type annotation
python