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

python遇到异常流程

在 Python 中,程序遇到异常时的退出行为取决于是否对异常进行了捕获和处理

  1. 未捕获的异常
    如果异常发生后没有被 try-except 语句捕获,程序会立即终止,并返回一个非零的退出码(通常是 1),同时打印异常信息(包括错误类型、描述和堆栈跟踪)。

    例如:

    print(1 / 0)  # 触发 ZeroDivisionError 且未捕获
    print("这段代码不会执行")  # 程序已退出
    

    运行后会直接崩溃,退出码为 1

  2. 捕获并处理异常
    如果用 try-except 捕获了异常,程序会跳过异常发生的位置,继续执行 except 块及之后的代码,不会退出,退出码为 0(正常结束)。

    例如:

    try:print(1 / 0)
    except ZeroDivisionError:print("捕获到除零错误")
    print("程序继续执行")  # 这句会正常执行
    

    运行后程序不会退出,最终退出码为 0

  3. 主动退出
    可以通过 sys.exit(n) 主动指定退出码,n 为整数(0 表示正常退出,非零表示异常退出)。

    例如:

    import sys
    try:print(1 / 0)
    except:sys.exit(2)  # 主动指定退出码为 2 并退出
    

总结:

  • 未处理的异常会导致程序退出,退出码非零;
  • 处理后的异常不会终止程序,退出码为 0(除非主动调用 sys.exit 指定非零值)。
http://www.dtcms.com/a/337170.html

相关文章:

  • 【Langchain系列二】LangChain+Prompt +LLM智能问答入门
  • Unix Domain Socket(UDS)和 TCP/IP(使用 127.0.0.1)进程间通信(IPC)的比较
  • Baumer高防护相机如何通过YoloV8深度学习模型实现网球运动员和网球速度的检测分析(C#代码UI界面版)
  • Spring AI Alibaba 项目接入兼容 OpenAI API 的大模型
  • Midjourney绘画创作入门操作创作(在线教育背景系列)
  • IOPaint 远程修图:cpolar 内网穿透服务实现跨设备图片编辑
  • Ansible文件部署与大项目多主机管理
  • 【Git】windows系统删除同名路径
  • 机器翻译论文阅读方法:顶会(ACL、EMNLP)论文解析技巧
  • IntelliJ IDEA中Maven的“Sync“与“Reload“详解:小白的避坑指南
  • python DataFrame基础操作
  • 从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
  • 链路聚合路由器OpenMPTCProuter源码编译与运行
  • 如何在 Ubuntu 24.04 安装 Python 3.12 ?
  • SpringAI集成MCP
  • 详细探讨AI在金融、医疗、教育和制造业四大领域的具体落地案例,并通过代码、流程图、Prompt示例和图表等方式展示这些应用的实际效果。
  • 【金融数据分析】用Python对金融产品价格进行时间序列分解
  • MySQL的锁:
  • Python入门第9课:面向对象编程(OOP)从零开始,类、对象与三大特性
  • Leetcode 3650. Minimum Cost Path with Edge Reversals
  • Vue Router的常用API有哪些?
  • 05 定时器,延时器、递归、内置对象(Object 对象+Math 对象+Date 对象+String对象)
  • Less (CSS 预处理器)
  • 8.18网络编程——基于UDP的TFTP文件传输客户端
  • 后端通用基础代码
  • 电源电路介绍
  • OpenTelemetry、Jaeger 与 Zipkin:分布式链路追踪方案对比与实践
  • 窗口看门狗(WWDG)
  • 网络基础——协议认识
  • Linux权限的学习