try…except…finally语句

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm=1001.2014.3001.5501

完整的异常处理语句应该包含finally代码块,通常情况下,无论程序中有无异常产生,finally代码块中的代码都会被执行,其语法格式如下:

try:

    block1

except [ExceptionName [as alias]]:

    block2

finally:

    block3

对于try…except…finally语句的理解并不复杂,它只是比try…except语句多了一个finally语句,如果程序中有一些在任何情形中都必须执行的代码,那么就可以将它们放在finally代码块中。

说明:使用except子句是为了允许处理异常。无论是否引发了异常,使用finally子句都可以执行清理代码。如果分配了有限的资源(如打开文件),则应将释放这些资源的代码放置在finally代码块中。

例如,再对实例02进行修改,实现当division()函数在执行时无论是否抛出异常,都输出文字“进行了一次分苹果操作”。修改后的代码如下:

def division():

    '''功能:分苹果'''

    print("\n===================== 分苹果了 =====================\n")

    apple = int(input("请输入苹果的个数:"))          # 输入苹果的数量

    children = int(input("请输入来了几个小朋友:"))

    result = apple // children                       # 计算每人分几个苹果

    remain = apple - result * children                  # 计算余下几个苹果

    if remain > 0:

        print(apple, "个苹果,平均分给", children, "个小朋友,每人分", result,

              "个,剩下", remain, "个。")

    else:

        print(apple, "个苹果,平均分给", children, "个小朋友,每人分", result, "个。")

if __name__ == '__main__':

    try:                                                # 捕获异常

        division()                                  # 调用分苹果的函数

    except ZeroDivisionError:                         # 处理异常

        print("\n出错了 ~_~ ――苹果不能被0个小朋友分!")

    except ValueError as e:                             # 处理ValueError异常

        print("输入错误:", e)                          # 输出错误原因

    else:                                                # 没有抛出异常时执行

        print("分苹果顺利完成...")

    finally:                                              # 无论是否抛出异常都执行

        print("进行了一次分苹果操作。")

执行以上程序,将显示如图8所示的运行结果。

图8  不抛异常时提示相应信息

至此,已经介绍了异常处理语句的try…except、try…except…else和try…except…finally等形式。下面通过图9说明异常处理语句的各个子句的执行关系。

图9  异常处理语句的不同子句的执行关系

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实战:一款唯美的个人主页-home2.0-2024.6.4(测试成功)

目录 文章目录 目录实验软件前提条件效果说明1、背景2、配置1、克隆代码库2、配置并构建镜像3、部署测试方案1:从docker容器拷贝生成的静态文件放到网站/目录方案2:启动容器,nginx里配置反向代理(推荐) 4、访问 3、总结…

JSON 数据格式化方法

文章目录 数据介绍IDE 或脚本格式化在线工具网址总结 数据介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript 编程语言的一个子集。尽管它起源于 JavaScript,但 JSON 已经成为了一个完全独立于…

杨校老师项目之SpringBoot整合Vue与微信小程序的外卖订餐系统

1.获取代码: 有偿获取:mryang511688 2.技术栈 SpringBoot MySQL mybatis Redis 微信小程序 摘 要 随着国内外卖行业的蓬勃发展,外卖平台间的竞争影响了许多餐饮企业。许多餐饮企业面临着第三方外卖平台抽佣高、营销策略受限等问题&am…

【Game】Powerful——Collection of Mystical Treasures(2)

参考来自: 非凡日常15|秘宝集解读第一版,玩法触发猜想! 关键词22|“探秘”、“秘宝集”,完整版 关键词22|“探秘”、“秘宝” 《神武4》百趣集探秘攻略 秘宝宝藏触发条件 文章目录 规则普通秘宝特殊秘宝新增秘宝 规则 基础次…

SmartEDA:电子设计新手进阶宝典,轻松开启创意之旅

在科技日新月异的今天,电子设计已成为众多创新者和工程师们展示才华的重要舞台。然而,对于初学者来说,电子设计的世界往往显得既神秘又复杂。幸运的是,有了SmartEDA这样的强大工具,新手也能轻松入门,逐步精…

i.MX8MP平台开发分享(MU功能介绍篇)

消息传递单元(MU)模块通过 MU 接口传递消息(如数据、状态和控制),使 SoC 中的两个处理器能够进行通信和协调。MU 还能让一个处理器使用中断向另一个处理器发出信号。 由于 MU 管理处理器之间的信息传递,因…

spring boot 2.1 集成activiti 6.0.0和activiti-modeler 5.23.0可视化编辑器(随记)

先上pom&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.or…

【WRF理论第二期】模型目录介绍

WRF理论第二期&#xff1a;模型目录介绍 1 WRF主目录2 WPS主目录3 编译后的可执行文件4 运行目录参考 了解 WRF 模型的目录结构有助于有效地管理和操作模型&#xff0c;从而确保模拟和分析工作的顺利进行。以下分解介绍WRF主目录、WPS主目录等。 Github-wrf-model/WRF 1 WRF…

小程序CI/CD之自动化打包预览并钉钉通知发布进程

小程序打包方式分为两种&#xff1a;手动打包、自动打包 那如何实现 自动打包 呐&#xff1f;我们今天就来聊一聊&#xff01; 首先&#xff0c;很重要&#xff0c;看 官方文档 这里提到今天我们要聊的“主角” miniprogram-ci miniprogram-ci 是从微信开发者工具中抽离的关于…

Day06 创建首页ListBox列表数据

​ 完成当前章节后,最终效果图如下 ​​​​ 一.首页汇总方块鼠标悬停阴影效果设计 首先,在上一章节首页设计 的时候,就已经知道当前主界面的汇总方块是使用 Border 来实现的,那么想要实现鼠标悬停时设置阴影的效果,就要在 Border 中进行重写样式。 需要使用 触发器 来实…

OrangePi Kunpeng Pro套装测评:开箱与基本功能测试

前言 大家好&#xff0c;我是起个网名真难。非常荣幸受到香橙派的邀请&#xff0c;同时也是第一次做这个事情&#xff0c;很荣幸对香橙派与华为鲲鹏在2024年5月12日联合发布的新品——香橙派Kunpeng Pro开发板进行深入的评测。这款开发板是香橙派与华为鲲鹏合作推出的高性能平…

企业微信应用 应用号内消息链接无法在企微内置浏览器打开 windows PC客户端 问题解决

问题 需求是每周在企微的应用号上发送周报&#xff0c;周报中会带着进入系统的链接&#xff0c;点击进入可以查看详情。系统需要登录鉴权&#xff0c;因此需要在内置浏览器打开便于自动认证。 但是&#xff0c;在企微应用号发送的链接&#xff0c;手机上可以正常使用企微内置…

E. 矩阵第k大

看到这句话&#xff0c;其中任意两个数都不能在同一行或者同一列 经典的网络流/匈牙利 由于小白看不懂网络流 &#xff08;其实是我不会&#xff09; &#xff0c;不妨就讲讲匈牙利 匈牙利算法 前置知识&#xff1a; 二分图 匈牙利&#xff08;是个人&#xff09;算法是二分…

OrangePi Ai Pro 开箱及镜像烧录指南

板子开箱 参加活动获得了香橙派与华为联合开发的 OrangePi AI Pro 开发板&#xff0c;这款开发板采用了华为自研的处理器&#xff0c;具有8TOPS的AI算力&#xff0c;可以满足一部分的AI开发需求&#xff0c;让 AI 开发不仅仅限于使用英伟达。 官方也是非常的大气&#xff0c;这…

【SQL边干边学系列】02介绍性问题(续)

文章目录 前言回顾介绍性问题7.产品名称中包含“queso”的产品8.运往法国或比利时的订单9.运往拉丁美洲任何国家的订单10.员工&#xff0c;按年龄的顺序排列11.让DateTime列仅显示Date12.员工全名13.每个订单的详细金额14.有多少客户&#xff1f;15.第一个订单是什么时候&#…

程序调试

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 在程序开发过程中&#xff0c;免不了会出现一些错误&#xff0c;有语法方面的&#xff0c;也有逻辑方面的。对于语法方面的比较好检测&#xff0c;因…

积累常用css

1、封面文字&#xff0c;垂直居中&#xff0c;可以两列并排 2、宽border效果 .dashed-box { margin: 80px 0 40px 0;width: 100%;display: inline-block;background-image: linear-gradient(to right, #979797 65%, rgba(255, 255, 255, 0) 20%);background-position: bottom;…

yangwebrtc x86_64环境搭建

版本&#xff1a;5.0.099 sudo apt-get install libxext-dev sudo apt-get install x11proto-xext-dev sudo apt-get install libxi-dev sudo apt install libasound2-dev sudo apt install libgl1-mesa-dev sudo apt-get install libxtst-dev 用qt打开以下两个项目的.pro met…

性价比之战,小米、希喂、霍尼韦尔三款宠物空气净化器真实测评!

怨种闺蜜跟我吐槽&#xff0c;养猫之后家里面的空气质量变得越来越糟糕&#xff0c;空气中的浮毛和便臭严重影响到了居家舒适度&#xff0c;怀念没有养猫时清新的空气。 又想养猫&#xff0c;又不想生活在糟糕的环境中。使用了一些粘毛器和吸毛器都只能对付表面看得见的一些大…

BI平台概述

随着数字化浪潮的推进&#xff0c;企业对于数据驱动决策的需求日益增长。纷享销客作为一款领先的CRM平台&#xff0c;一直致力于帮助企业实现销售管理的高效与智能。纷享销客一体化BI智能分析平台作为CRM平台中的重要一环&#xff0c;旨在为企业提供更加全面、深入的数据分析能…