当前位置: 首页 > news >正文

python 异常处理

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

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

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

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

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

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

1.异常传递:

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

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("输入无法转为数字,请重新输入")

无异常: 

  

有异常: 

 

相关文章:

  • 在Windows11强制开启copilot
  • 独立站PrestaShop安装
  • 获取当前路由器的外网IP(WAN IP)
  • 电脑硬盘坏了怎么恢复数据?
  • 蓝桥杯2021第十二届蓝桥杯青少年组省赛试题真题
  • Vue3重置reactive变量造成循环引用导致JSON.stringify语法报错
  • python之matplotlib (1 介绍及基本用法)
  • vin查询汽车品牌-vin查询汽车品牌接口-车辆信息查询接口
  • ubuntu中python 改为默认使用python3,pip改为默认使用pip3
  • 【个人学习】JVM(7):方法区概述、方法区内部结构、垃圾回收等
  • 什么是光伏电站气象站——气象监测
  • YoloV9改进策略:下采样与上采样改进|下采样模块和DUpsampling上采样模块|即插即用
  • Linux安装MQTT 服务器(图文教程)
  • Java Web —— 第七天(Mybatis案例 部门管理)
  • 关于鸿蒙开发中泛型的介绍
  • java代码中<>符号的含义
  • Swift编译加速:精通编译器标志的高效使用
  • 分布式缓存———数据一致性问题
  • 【Rust光年纪】细数 Rust 语言必备库:探索点对点网络、嵌入式数据库和客户端操作
  • 低代码: 组件库测试之渲染和元素获取,触发事件,更新表单,验证事件以及异步请求
  • 上海楼市“银四”兑现:新房市场高端改善领跑,二手房量价企稳回升
  • 普雷沃斯特当选新一任天主教罗马教皇
  • 经彩申城!上海网络大V沙龙活动走进闵行
  • 两部门部署中小学幼儿园教师招聘工作:吸纳更多高校毕业生从教
  • 商务部再回应中美经贸高层会谈
  • 圆桌丨中俄权威专家详解:两国携手维护战后国际秩序,捍卫国际公平正义