Python中的异常处理4-2

news2024/11/26 9:52:25

在《Python中的异常处理4-1》中提到,用except可以捕获所有的异常。实际上,在程序运行的过程中,出现异常的原因有很多,比如下标超出范围、除数为0、变量未定义等。

1 except语句加上具体的异常类型

可以在except语句之后加上具体的异常类型,表示该语句只捕获指定的异常,代码如下所示。

a, b = input('请输入被除数和除数:').split()
try:
    print(int(a)/int(b))
except ZeroDivisionError:
    print('除数不能为0。')

其中,except语句只捕获ZeroDivisionError异常,当除数是0时,就会Python会抛出该异常。程序处理ZeroDivisionError异常的输入及输出如图1所示。

图1 处理ZeroDivisionError异常

从图1中可以看出,运行程序后输入的值是“1 0, 即此时a的值是“1”,b的值是“0”。

int(b)的值是0,Python会抛出ZeroDivisionError异常,该异常被我们编写的代码处理,显示“除数不能为0”。

当输入的是“1 a”时,b的值是“a”,此时int(b)无法将其转换为整型,会抛出ValueError异常。但是由于我们的代码没有捕获ValueError异常,因此该异常会交由Python处理,此时会显示红色报错信息,代码如图2所示。

图2 ValueError异常的处理

2 同时处理多个异常

对于在“1 except语句加上具体的异常类型”中提到的一段代码可能会出现多个异常的情况,我们可以使用多个except来捕获,代码如下所示。

a, b = input('请输入被除数和除数:').split()
try:
    print(int(a)/int(b))
except ZeroDivisionError:
    print('除数不能为0。')
except ValueError:
    print('输入的不是数字。')

当输入“1 a”时,由于代码捕获了ValueError异常,因此会显示“输入的不是数字”,如图3所示。

图3 捕获多个异常

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

cms之wordpress主题安装

WordPress主题安装教程的方法有两种,分为在线安装和上传安装,下面是主题详细安装方法的步骤。 后台在线安装主题 从后台的主题界面在线安装主题是最方便的WordPress主题安装方式。方法如下: 1 在WordPress后台,转到外观→主题 …

yarn的资源优化的调整参数

yarn的资源优化的调整参数 官网: https://hadoop.apache.org/docs/r3.3.6/hadoop-yarn/hadoop-yarn-common/yarn-default.xml 没事多看官网哈 yarn.nodemanager.resource.memory-mb:用于设置NodeManager节点的总内存容量,单位为MB。根据集…

php预约系统源码 网上预约小程序开发源码 整套系统搭建让在线预约更便捷

随着互联网技术的发展,越来越多的服务行业开始通过网上预约系统来实现便捷的客户管理和服务提供。PHP预约系统源码作为一种成熟的技术方案,可以帮助商家快速搭建自己的预约系统,提高工作效率,优化客户体验。 分享一个php预约系统…

C#教学辅助系统网站as.net+sqlserver

本教学辅助系统系统从两种用户角度进行功能划分。 1、学生部分: 1.1:新闻查看; 1.2:课程公告查看; 1.3:用户注册; 1.4:在线留言; 1.5:资料下载; …

goaccess 日志分析 nginx

分析命令: goaccess -a -d -f /mnt/winshare/access-2023070112.log -p goaccess.conf -o /mydata/nginx/html/2023070112_new.html分析日志时的参数 goaccess使用参数详解-a 开启 UserAgent 列表。开启后会降低解析速度 -c 在程序开始运行时显示 日志/日期 配…

KDD 2023 | WHEN异构时间序列分析模型:当Wavelet和DTW遇上Attention

论文题目: WHEN: A Wavelet-DTW Hybrid Attention Network for Heterogeneous Time Series Analysis 论文链接: https://dl.acm.org/doi/10.1145/3580305.3599549 论文作者: 王静远,杨晨,蒋笑寒,吴俊杰教授…

JavaScript数组的应用及实战

🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! 目录 引言 1. 数组简介 2. 数组方法API 添加和删除元素 修改和访问元素 数组遍历 数组转换和连接 数组排序和搜索…

IMU+摄像头实现无标记运动捕捉

惯性传感和计算机视觉的进步为在临床和自然环境中获得精准数据带来了新可能。然而在临床应用时需要仔细地将传感器与身体对齐,这减慢了数据收集过程。 随着无标记运动捕捉的发展,研究者们提出了一个新的深度学习模型,利用来自视觉、惯性传感…

BIO、NIO、AIO有什么区别

什么是IO Java中I/O是以流为基础进行数据的输入输出的,所有数据被串行化(所谓串行化就是数据要按顺序进行输入输出)写入输出流。简单来说就是java通过io流方式和外部设备进行交互。 在Java类库中,IO部分的内容是很庞大的,因为它涉及的领域很…

Spring框架@Autowired和@Resource到底有什么区别

目录 1 来源不同2.依赖查找顺序不同2.1 Autowired 查找顺序2.2 Resource 查找顺序2.3 查找顺序小结 3.支持的参数不同4.依赖注入的支持不同5.编译器提示不同6 总结 1 来源不同 Autowired 和 Resource 来自不同的“父类”,其中 Autowired 是 Spring 定义的注解&#…

从命令行管理文件

1.linux系统中硬盘文件存储原理 硬连接 1.1.原理 linux系统中允许多个文件指向同一个inode,即允许一个文件拥有多个有效的路径名和文件名。 理解:硬连接就是指向原始文件的inode指针 证明一: 创建一个文件t1 查看他的硬链接数 创建一个硬链接 …

一阶微分方程

目录 可分离变量的方程 齐次微分方程 一阶线性微分方程 伯努科方程 全微分方程 可分离变量的方程 可分离变量的方程是一种常见的一阶常微分方程类型,其特点是可以通过将变量分离到方程的两侧,从而可以分别对各自变量进行积分。一般形式的可分离变量…

武汉融资融券(两融)开户利率最低能做到多少?无门槛利率5%!

武汉融资融券(两融)开户利率最低能做到多少?无门槛利率5%! 具体武汉融资融券(两融)开户利率最低能做到多少,需要根据不同的券商政策而定。不同的券商可能具有不同的优惠政策和开户条件,因此开户前应该仔细了解券商的政策和条件。 融资融券是指投资者通…

Minio入门系列【2】纠删码

1 纠删码 Minio使用纠删码erasure code和校验和checksum来保护数据免受硬件故障和无声数据损坏。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据 1.1 什么叫纠删码 纠删码是一种用于重建丢失或损坏数据的数学算法。 纠删码(e…

SQL注入类型判断

SQL注入的类型分为字符型和数字型,以sqli-labs靶场1、2关为例: 文章目录 第一关第二关无错误回显的判断 第一关 第一关注入一个1’,错误回显出下面内容,其中1’是注入的内容,0,1后面的单引号和最前面的单引号是一对&am…

湖北中级工程师职称网上申报流程是怎么样?应该如何在网上填写申报信息呢?

现在湖北中级职称全部采取网上申报形式,不管是水测还是后面职称评审都是需要网上申报信息,那么中级职称评审,网上如何申报信息呢?填写信息的时候需要注意哪些方面呢?今天甘建二这边给大家整理一下,希望对大…

电动垂直起降飞行器的发展现状

摘要 近年来,电动垂直起降(eVTOL)飞行器在城市空运中得到快速发展。本文介绍了近5年来世界范围内主要的在研电动垂直起降飞行器项目,从飞行器布局形式、总体设计参数、推进系统类型、飞行控制等级等方面进行了归纳和总结,分析了不同构型下相应电动垂直起…

Redis 五大类型源码及底层实现

面试题: 谈谈Redis数据类型的底层数据结构: SDS动态字符串双向链表玉缩列表ziplist哈希表hashtable跳表kiplist整数集合intset快速列表quicklist紧凑列表listpack Redis源代码的核心部分 官网:GitHub - redis/redis: Redis is an in-memory…

jenkins自动化脚本集成时钉钉消息未发送

在进行jenkins自动化脚本集成时,需要配置钉钉发送消息。钉钉的配置正确,测试钉钉消息发送成功,但是当构建项目时,却没有收到钉钉消息,报错如下: [钉钉插件]发送消息时报错: java.lang.NullPointerExceptio…

项目经理晋升为企业高管,需要杀死自己三次

大家好,我是老原。 “猴子屁股理论”,大家应该都知道吧。 就拿职场来说,它就像是一棵树,从树底下开始爬,一层一层的基层员工-基层干部-中层干部-高层-老板。 你会发现,无论你在哪一层,往上看都…