python 异常处理

异常

异常是程序在运行过程中发生的错误或异常情况。当出现异常时,程序会中断正常的执行流程,并尝试寻找相应的异常处理代码来处理异常。

Python 中的异常是一个对象,它表示了发生的错误或异常情况。异常对象包含了有关错误的信息,例如错误类型、错误消息和错误发生的位置等。

捕获异常

捕获程序有可能产生的异常

防止程序 由于异常 导致的出错闪退

不一定发生
try 块:包含可能会引发异常的代码。
except 块:用于捕获并处理特定类型的异常。可以有多个 except 块来处理不同类型的异常。
else 块:如果在 try 块中没有发生异常,将执行 else 块中的代码。
finally 块:无论是否发生异常,都会执行 finally 块中的代码。通常用于清理资源或执行一些必须的操作。

python 复制代码
a = input("输入数字")
try:
    b = int(a)
    print(f"你输入的数字{b}")
except Exception as e:
    print("输入错误重新输入")
except ZeroDivisionError as e:
    print("除数为0")
else:
    print("你输入对了")
finally:
    print("正不正确都输出")
print("你好")
python 复制代码
try:
    with open(f"123.txt", "r") as f:
        print(f.read())
except FileNotFoundError as e:
    print("诈骗", e)
print("你好")

因为文件不存在不能读取 所以返回错误

Errno 2 No such file or directory: '123.txt'

自定义异常

python 复制代码
class LTone(Exception):
    def __init__(self, msg):
        super().__init__(msg)


while True:
    input_str = input("输入数字")
    try:
        input_value = int(input_str)
        if input_value < 1:
            raise LTone("数值小于1")
    except LTone as e:
        print(f"异常为{e}")
    except ValueError as e:
        print("不是数字")
    except Exception as e:
        print("未知异常")
    else:
        if input_value >= 1:
            if input_value % 2 == 1:
                print("奇数")
            else:
                print("偶数")
相关推荐
starzy19901 小时前
深入理解Scala可变Map:动态构建场景下的性能与设计权衡
开发语言·scala
小小张说故事1 小时前
Python 的 a[1:5:2] 到底切出了什么?拆开 slice 对象、__getitem__ 与负步长那次反向
python
wuyk5552 小时前
PyQt6-第15讲-数据可视化QChart
python·ui·信息可视化·pyqt
天天被压力2 小时前
【A股分钟级高频数据完全手册 #04】指数分钟级行情数据接口:沪深指数Pro版最新分时取数
java·人工智能·python
日日大王学编程2 小时前
2026主流AI Agent产品分类、核心差异与技术特性全解析
人工智能·后端·python
天天被压力2 小时前
【A股分钟级高频数据完全手册 #03】股票历史1分钟K线数据接口怎么用:Pro版批量拉取与本地缓存
java·人工智能·python
zhanghaha13142 小时前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
apcipot_rain2 小时前
C++转Java日记(02)
java·开发语言·c++
杜 硕3 小时前
从零开始的C++生活——第七讲——02
开发语言·c++·生活
zhanghaha13143 小时前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#