python异常机制

当代码出现异常后底下代码都不会被执行了,也就是程序崩溃了。当然能避免异常的话尽量避免但是有的时候这个是没有办法避免的。

异常处理

(注:异常处理是从上往下处理,所以编写代码时要注意)

语法

try:可能出现异常的代码
except:如果右异常执行的代码
finally:无论是否存在异常都会被执行的代码
#finally可写可不写,try和except必须一起出现

例子

def func():try:n1 = int(input('输入第一个数字'))n2 = int(input('输入第一个数字'))per = input('输入运算符号')if per =="+":result = n1+n2elif per =="-":result = n1-n2elif per =="*":result = n1*n2elif per =="/":result = n1/n2#选不同的错误类型会出现不同的解决方法except ZeroDivisionError:print('除数不能为零')except ValueError:print('请输入数字')
func()

上述例子中出现了两个错误,但是实际开发中可能出现多种你无法相像的错误这时就要用到except的一种情况

例子

try:l=[]l.remove()
except Exception as err:print('出错了',err)

结果

例子 

当我们在进行文件操作时,最后都需要释放文件流,所以都需要close()

stream = None
try:
#这个stream在try中,是局部变量,finally不能用stream = open(r'D:/桌面/test','r')
except Exception as err:print('出错了',err)
finally:if stream:stream.close()

结果

注:如果代码中有finally,前面return不会真的return出去。只有执行了finally后才会退出

抛出异常

例子

使用raise关键字,相当于自定义一个异常

def register():user = input('请输入')if len(user)<6:raise Exception('必须六位以上')else:print('输入用户名',user)try:register()
except Exception as err:print(err)print('注册失败')
else:print('注册成功')

结果


不嫌弃的点点关注,点点赞 ଘ(੭ˊᵕˋ)੭* ੈ✩‧₊˚  

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

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

相关文章

ThinkPHP6与支付宝支付集成指南:轻松实现在线收款!

随着移动支付的普及&#xff0c;支付宝成为了越来越多人的首选支付方式。而作为一款高性能、高效率、安全稳定的开源框架&#xff0c;thinkphp6也被众多开发人员所青睐。那么&#xff0c;如何在thinkphp6中快速简便地实现支付宝支付呢&#xff1f; 首先&#xff0c;我们需要在…

《数字图像处理(MATLAB版)》相关算法代码及其分析(3)

目录 1 对边界进行子采样 1.1 输入参数检查 1.2 处理重复坐标 1.3 计算边界最大范围 1.4 确定网格线数量 1.5 构建网格位置向量 1.6 计算曼哈顿距离 1.7 整理输出结果 1.8 返回结果 2 改变图像的存储类别 2.1 函数输入 2.2 数据类型转换 2.3 错误处理 2.4 返回结…

如何在线制作二维码并支持样式修改?二维码美化模板设计技巧

在制作二维码的使用&#xff0c;除了对功能有需求之外&#xff0c;二维码的样式也是很多人会注重的一个方面&#xff0c;那么如何快速制作二维码并按照自己需要的要求来优化展示效果呢&#xff1f; 现在二维码制作可以通过网上的二维码生成器工具来完成&#xff0c;比如图片、…

双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的技术应用

原文链接&#xff1a;双碳目标下DNDC模型建模方法及在土壤碳储量、温室气体排放、农田减排、土地变化、气候变化中的实践技术应用https://mp.weixin.qq.com/s?__bizMzUzNTczMDMxMg&tempkeyMTI2MF9DVWNrMFpvV1d3RGxBZUE2QXJBRnI1NEJkcVhzRFZwakRqYXhhVFQzQnh1MVhJcy1laWh6N…

「AI工程师」模型训练与部署-工作指导

工作指导书 一、工作职责 负责AI模型的训练和优化&#xff0c;确保模型性能达到预定目标。协调资源的分配&#xff0c;管理训练过程中的各种参数和配置。负责模型的部署工作&#xff0c;确保模型能够稳定、高效地运行在实际环境中。监控模型的运行状态&#xff0c;及时处理和…

家居清洁赛道变量,品牌突围要抓住怎样的锚点?

复盘国内清洁电器的扩张历程&#xff0c;从各种指标来看&#xff0c;这似乎是一个不断创造新品类&#xff0c;又不断陷入内卷的行业&#xff0c;每一轮产品创新总会激发一大批玩家蜂拥入场&#xff0c;然后蓝海转瞬之间即翻转为红海。 这也使相关品牌的可持续发展面临考验&…

【算法 高级数据结构】树状数组:一种高效的数据结构(一)

&#x1f680;个人主页&#xff1a;为梦而生~ 关注我一起学习吧&#xff01; &#x1f4a1;专栏&#xff1a;算法题、 基础算法~赶紧来学算法吧 &#x1f4a1;往期推荐&#xff1a; 【算法基础 & 数学】快速幂求逆元&#xff08;逆元、扩展欧几里得定理、小费马定理&#x…

排序算法:插入排序和希尔排序

一、插入排序 1.基本原理 插入排序&#xff08;英语&#xff1a;Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上…

重读 Java 设计模式: 探索经典之道与 Spring 框架的设计

写在开头 记得大学刚毕业那会儿&#xff0c;想学点东西&#xff0c;于是拿出了《Head First 设计模式》这本书&#xff0c;就开始了阅读&#xff0c;我曾对这些模式感到晦涩难懂。然而&#xff0c;随着工作岁月的增长&#xff0c;我逐渐领悟到设计模式的价值&#xff0c;尤其是…

类和对象(4)

文章目录 1. const成员2.取地址及const取地址操作符重载3. 再谈构造函数3.1构造函数体赋值3.2初始化列表 1. const成员 将const修饰的成员函数称为const成员函数。 const修饰类成员函数&#xff0c;实际修饰该成员函数的隐含地this指针&#xff0c;表明在该成员函数中不能对类…

【echarts】xAxis鼠标事件失效问题

项目中用到echarts柱状图&#xff0c;出现x轴标签文字过长重叠问题&#xff0c;在pass掉标签倾斜、换行方案之后最终决定限制文字长度&#xff0c;超出以…占位&#xff0c;鼠标悬浮时显示完整tooltip。 但编写过程中发现xAxis鼠标事件无法触发&#xff0c;只有bar区域是可触发…

【C++杂货铺】详解string

目录 &#x1f308;前言&#x1f308; &#x1f4c1; 为什么学习string &#x1f4c1; 认识string&#xff08;了解&#xff09; &#x1f4c1; string的常用接口 &#x1f4c2; 构造函数 &#x1f4c2; string类对象的容量操作 &#x1f4c2; string类对象的访问以及遍历操…

【uni-app】condition 启动模式配置,生产环境无效,仅开发期间生效

在小程序开发过程中&#xff0c;每次代码修改后&#xff0c;都会启动到首页&#xff0c;有时非常不方便&#xff0c;为了更高效的开发&#xff0c;有时需要模拟直接跳转到指定的页面&#xff0c; 操作方法如下&#xff1a; 在pages.joson里面配置下列代码&#xff1a; "…

解决 matplotlib 中文显示乱码的问题

matplotlib 库默认只显示中文 例如&#xff1a; import matplotlib.pyplot as pltimg plt.imread(test.jpg)# plt.rcParams[font.sans-serif] [SimHei] # 用来正常显示中文标签 # plt.rcParams[axes.unicode_minus] False # 用来正常显示负号 #有中文出现的情况&#xf…

宏auto关键字(C++基础)

宏 宏可以实现对语句的同义替换&#xff0c;简单来说就是预处理阶段、编译前的替换&#xff08;包括符号&#xff0c;变量等&#xff09;。 #define LOG(x) std::cout << x << std::endl; LOG("hello") 可以正常使用。 下面通过上图中借用不同开发模…

YOLOv8改进 | 独家创新篇 | 利用DCNv3集合DLKA形成全新的注意力机制(全网独家创新)

一、本文介绍 本文给大家带来的机制是由我独家创新结合Deformable Large Kernel Attention (D-LKA) 注意力机制和DCNv3可变形卷积的全新注意力机制模块(算是二次创新),D-LKA的基本原理是结合了大卷积核和可变形卷积的注意力机制,通过采用大卷积核来模拟类似自我关注的感受…

MySQL学习笔记(一)数据库事务隔离级别与多版本并发控制(MVCC)

一、数据库事务隔离级别 数据库事务的隔离级别有4种&#xff0c;由低到高分别为Read uncommitted &#xff08;读未提交&#xff09;、Read committed&#xff08;读提交&#xff09; 、Repeatable read&#xff08;可重复读&#xff09; 、Serializable &#xff08;串行化&a…

OpenAI劲敌吹新风! Claude 3正式发布,Claude3使用指南

Claude 3是什么&#xff1f; 是Anthropic 实验室近期推出的 Claude 3 大规模语言模型&#xff08;Large Language Model&#xff0c;LLM&#xff09;系列&#xff0c;代表了人工智能技术的一个显著飞跃。 该系列包括三个不同定位的子模型&#xff1a;Claude 3 Haiku、Claude 3…

06 - ip route和route -n的区别

1 ip route和route -n的区别 ip route 和 route -n 都是用于查看和管理Linux系统路由表的命令。但下面是它们的区别&#xff1a; ip route&#xff1a;是Linux系统中的现代工具&#xff0c;它属于iproute2套件&#xff1b;它提供了更多的选项&#xff0c;可以更精确地控制路由表…

弱电综合布线:连接现代生活的纽带

在当今信息化快速发展的时代&#xff0c;弱电网络布线作为信息传输的重要基础设施&#xff0c;其作用日益凸显。它不仅保障了数据的高效流通&#xff0c;还确保了通信的稳定性。从商业大厦到教育机构&#xff0c;从政府机关到医院急救中心&#xff0c;再到我们居住的社区&#…