Python异常处理详解:try, except, else, finally的使用方法与示例


在这里插入图片描述
💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
在这里插入图片描述

  • 推荐:「stormsha的主页」👈,「stormsha的知识库」👈持续学习,不断总结,共同进步,为了踏实,做好当下事儿~

  • 专栏导航

    • Python系列: Python面试题合集,剑指大厂
    • Git系列: Git操作技巧
    • GO系列: 记录博主学习GO语言的笔记,该笔记专栏尽量写的试用所有入门GO语言的初学者
    • 数据库系列: 详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 运维系列: 总结好用的命令,高效开发
    • 算法与数据结构系列: 总结数据结构和算法,不同类型针对性训练,提升编程思维

    非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。💝💝💝 ✨✨ 欢迎订阅本专栏 ✨✨

    💖The Start💖点点关注,收藏不迷路💖

    📒文章目录

        • 1. try
        • 2. except
          • 捕获特定类型的异常
          • 捕获所有异常
        • 3. else
        • 4. finally
        • 综合示例
        • 总结


在Python中,异常处理是一个非常重要的机制,用于捕获和处理运行时错误,从而防止程序崩溃。Python提供了try, except, elsefinally关键字来实现异常处理。下面是对这些关键字的详解:

1. try

try块用于包裹可能会引发异常的代码。当某个异常发生时,解释器会立即停止执行try块中的代码,并转到相应的except块进行处理。

try:# 可能会引发异常的代码result = 10 / 0

2. except

except块用于捕获和处理异常。你可以指定捕获特定类型的异常,也可以捕获所有类型的异常。

捕获特定类型的异常
try:result = 10 / 0
except ZeroDivisionError:print("除数不能为零")
捕获所有异常
try:result = 10 / 0
except Exception as e:print(f"出现异常: {e}")

3. else

else块在try块没有引发任何异常时执行。它通常用于包含那些在没有异常时应该执行的代码。

try:result = 10 / 2
except ZeroDivisionError:print("除数不能为零")
else:print(f"运算结果是:{result}")

4. finally

finally块中的代码无论是否发生异常都会执行。它通常用于清理资源,如关闭文件或网络连接。

try:result = 10 / 2
except ZeroDivisionError:print("除数不能为零")
else:print(f"运算结果是:{result}")
finally:print("执行完毕,无论是否有异常")

综合示例

下面是一个综合使用try, except, elsefinally的示例:

def divide(a, b):try:result = a / bexcept ZeroDivisionError:print("除数不能为零")except TypeError:print("操作数必须是数字")else:print(f"运算结果是:{result}")finally:print("执行完毕,无论是否有异常")divide(10, 2)
divide(10, 0)
divide(10, "a")

输出结果:

运算结果是:5.0
执行完毕,无论是否有异常
除数不能为零
执行完毕,无论是否有异常
操作数必须是数字
执行完毕,无论是否有异常

总结

  • try: 包裹可能会引发异常的代码。
  • except: 捕获和处理异常。
  • else: 在没有异常时执行。
  • finally: 无论是否发生异常都会执行,用于清理资源。

利用这些关键字,你可以编写更加健壮和容错的Python代码。


🔥🔥🔥道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

💖The End💖点点关注,收藏不迷路💖

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/448315.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

力反馈手套如何在VR培训解决方案中为用户提供沉浸式体验?

在VR训练中如何为用户带来更加沉浸式的使用体验一直是该领域不断向前探索的发展方向。力反馈手套的融入为VR训练中的沉浸式交互指出了全新的发展方向。通过使用像SenseGlove Nova这样的虚拟现实力反馈手套,用户能够在VR虚拟训练场景中真实的感受到虚拟物体的尺寸大小…

uniapp 小程序0到1教程

先说明一下,uni-app的文档很乱 一、注册微信小程序 如果你还没有微信公众平台的账号,请先进入微信公众平台首页,点击 “立即注册” 按钮进行注册。注册的账号类型可以是订阅号、服务号、小程序以及企业微信,我们选择 “小程序”…

java代码生成器集成dubbo,springcloud详解以及微服务遐想

摘要 今天终于有了点空闲时间,所以更新了一下代码生成器,修复了用户反馈的bug,本次更新主要增加了dubbo和springcloud脚手架的下载功能,架子是本人亲自搭建,方便自由扩展或者小白学习使用,你也许会问为什么…

SeleniumBase在无头模式下绕过验证码的完整指南

概述 在现代Web爬虫技术中,SeleniumBase 是一款强大的自动化测试工具,能够模拟用户行为,进行高效的数据采集。然而,验证码(CAPTCHA)常常成为爬虫项目中的一个难题,尤其是在无头模式&#xff08…

基于SpringBoot的国家基础信息管理功能的设计与实现

目录 前言 一、标准信息参考 1、信息来源 二、后台基础信息的维护管理 1、实体类和Mapper类 2、业务层和控制层设计 3、前端界面实现 三、管理页面效果 1、列表管理界面 2、国家信息调整 四、总结 前言 在之前的博客中,我们基于GeoTools工具实现了全球各个…

怡然自得英语怎么说,柯桥零基础英语培训

放松的;悠然自得的 例句: Everyone here has a really laid-back attitude. 这里的每个人都是一副优哉游哉的态度。 Visitors seeking deserted and unpolluted beaches and a laid-back atmosphere should go elsewhere. 而寻求静谧、清洁的海滩和…

软件测试面试200问(附30W字面试文档)

Part1 1、你的测试职业发展是什么? 测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自…

用gost建立私密的内网穿透网络

内网空透是一项非常有用的东西。 现有比较常见的是用FRP,但是FRP需要配置,文档还挺麻烦。 其实gost是一款功能强大的网络神器,可以轻松实现内网穿透。(内网代理) 本文介绍的是升级版内容,客户端也需要go…

过孔对信号质量的影响(方式、仿真、结论)

概述: 关于过孔的作用(信号孔、电源孔、地孔、机械定位孔、散热通风孔),本文主要叙述过孔在焊盘直径、过孔反焊盘直径、有无非功能焊盘、过孔残桩长度等方面对信号质量带来的影响。 一、 过孔影响信号质量的方式 过孔是PCB上的…

打造高效稳定的FastAPI接口:从统一输出到全局异常处理

引言 在现代应用开发中,API无疑是连接前后端的核心桥梁。无论是Web应用、移动App还是服务间的通信,API的性能和稳定性都直接影响用户体验。而随着Python 3的异步特性不断成熟,FastAPI这款轻量级的Web框架因其超高的性能和灵活性迅速走红。那么,如何用FastAPI构建一个高效稳…

深度学习论文: T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy

深度学习论文: T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy T-Rex2: Towards Generic Object Detection via Text-Visual Prompt Synergy PDF: https://arxiv.org/pdf/2403.14610 PyTorch代码: https://github.com/shanglianlm0525/CvPytorch Py…

代码提交后服务器项目同步更新

一、简介 最近在服务器上部署了一个node后台项目,每次发布都需要更新一下服务器上的后台文件;这样来回操作有些许麻烦。为此想要服务器端后台项目连接代码仓库,监听代码仓库的更新情况;如果有更新则自动执行git pull同步最新代码…

网络编程(16)——asio多线程模型IOServicePool

目录 十六、day16 1. 什么是多线程? 2. IOServicePool实现 3. 服务器修改 4. 客户端修改 5. 总结 1. boost::asio::io_context::work的作用? 十六、day16 在之前的设计中,我们对 ASIO 的使用都是采用单线程模式。为了提升网络 I/O 并…

持续科技创新 高德亮相2024中国测绘地理信息科技年会

图为博览会期间, 自然资源部党组成员、副部长刘国洪前往高德企业展台参观。 10月15日,2024中国测绘地理信息科学技术年会暨中国测绘地理信息技术装备博览会在郑州召开。作为国内领先的地图厂商,高德地图凭借高精度高动态导航地图技术应用受邀参会。 本…

一文详解流处理、批处理和流批一体

一、流处理 定义:流处理是一种对实时流入的数据进行连续处理的方式,流式数据处理中的数据集是不固定和无边界的。 特点: 1.实时性:能够在数据产生的瞬间就对其进行处理,具有非常高的实时性。这使得企业可以及时响应…

光伏项目开发360°管控,规避潜在风险

光伏项目建设在国家的大力支持下如雨后春笋般涌现,投资者对回报率和项目质量的要求越来越高。在这样的背景下,光伏项目全生命周期管理愈发重要。 一、业主沟通开发 积极和业主进行沟通,了解其合作意愿。向业主科普安装光伏的好处&#xff0c…

[权威出版|稳定检索]2024年信息控制、电气与智慧交通国际会议(ICEIT 2024)

2024年信息控制、电气与智慧交通国际会议 2024 International Conference on Information Control, Electrical and Intelligent Transportation 【1】大会信息 会议名称:2024年信息控制、电气与智慧交通国际会议 会议简称:ICEIT 2024 大会时间&#x…

Open-WebUI

Open-WebUI特点⭐ ️直观的界面:聊天界面从 ChatGPT 中汲取灵感,确保用户友好的体验。响应式设计:在桌面和移动设备上享受无缝体验。⚡快速响应:享受快速响应的性能。轻松设置:使用 Docker 或 Kubernetes(…

101、QT摄像头录制视频问题

视频和音频录制类QMediaRecorder QMediaRecorder 通过摄像头和音频输入设备进行录像。 注意: 使用Qt多媒体模块的摄像头相关类无法在Windows平台上进行视频录制,只能进行静态图片抓取但是在Linux平台上可以实现静态图片抓取和视频录制。 Qt多媒体模块的功能实现是依…

msql事务隔离级别 线上问题

1. 对应代码 解决方式: 在事务隔离级别为可重复读(RR)时,数据库确实通常会记录当前数据的快照。 在可重复读隔离级别下,事务在执行期间看到的数据是事务开始时的数据快照,即使其他事务对数据进行了修改&am…