python 异常处理

Python 中的异常处理是通过 tryexcept 语句来实现的。这种方式允许程序在发生错误时捕获异常,并有选择地处理它们,而不是使整个程序崩溃。捕捉程序有可能产生的异常,防止程序由于异常导致的出错闪退,有可能有也可能不发生。

try:执行有可能出错误的代码(通常与except关联使用),如果发生异常则跳转到except;

except: 捕获到具体异常,针对处理(如果try中出现异常类型,则执行该部分代码);

else: 如果没有异常就执行;

finally: 有没有异常都会执行(常用于执行清理工作,如:关闭文件);

Exception:所有异常类的父类 可以捕获所有异常 不够具体。

1.异常传递:

python 复制代码
input_value = input("输入数字")
try:
    input_value = int(input_value)
    print(f"{input_value}")
except TypeError as e:
    print("类型异常")
except ValueError as e:
    print("值转换异常")
except ZeroDivisionError as e:
    print("除数为0")
except Exception as e:
    print(f"输入有误,类型转换失败", e)
else:
    if input_value % 2 == 1:
        print("奇数")
    elif input_value % 2 == 0:
        print("偶数")
finally:
    print("是否有误都执行")

print("end")

无异常:

有异常

2.自定义异常:

除了 Python 内置的异常类型,还可以自定义的异常类型。

自定义异常类型:小于1

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


while True:
    input_value = input("输入正整数")
    try:
        input_value = int(input_value)
        try:
            if input_value < 1:
                raise LTOne("小于1")
        except LTOne as e:
            print("异常,重新输入")
        else:
            print("奇数" if input_value % 2 == 1 else "偶数")
            break
    except ValueError as e:
        print("输入无法转为数字,请重新输入")

无异常:

有异常:

相关推荐
fantasy_arch3 小时前
pytorch例子计算两张图相似度
人工智能·pytorch·python
七七&5563 小时前
2024年08月13日 Go生态洞察:Go 1.23 发布与全面深度解读
开发语言·网络·golang
java坤坤3 小时前
GoLand 项目从 0 到 1:第八天 ——GORM 命名策略陷阱与 Go 项目启动慢问题攻坚
开发语言·后端·golang
元清加油3 小时前
【Golang】:函数和包
服务器·开发语言·网络·后端·网络协议·golang
健康平安的活着4 小时前
java之 junit4单元测试Mockito的使用
java·开发语言·单元测试
WBluuue4 小时前
数学建模:智能优化算法
python·机器学习·数学建模·爬山算法·启发式算法·聚类·模拟退火算法
赴3355 小时前
矿物分类案列 (一)六种方法对数据的填充
人工智能·python·机器学习·分类·数据挖掘·sklearn·矿物分类
大模型真好玩5 小时前
一文深度解析OpenAI近期发布系列大模型:意欲一统大模型江湖?
人工智能·python·mcp
RPA+AI十二工作室5 小时前
亚马逊店铺绩效巡检_影刀RPA源码解读
chrome·python·rpa·影刀
DjangoJason5 小时前
C++ 仿RabbitMQ实现消息队列项目
开发语言·c++·rabbitmq