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.hqwc.cn/news/521807.html

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

相关文章

禁止使用搜索引擎,你了解吗?

员工A&#xff1a;“我今天想搜索的时候&#xff0c;用不了浏览器了&#xff0c;你能用么&#xff1f;” 员工B&#xff1a;“不知道啊我试一下啊” “也不行” 员工C&#xff1a;“为什么啊&#xff1f;” 针对上述对话&#xff0c;我们不禁思考&#xff1a; 公司为什么禁…

典型汽车车灯芯片方案都有哪些?

典型汽车车灯芯片方案主要有先boost升压&#xff0c;再多路buck恒流的灯驱解决方案。如果客户负载比较小&#xff0c;则推荐集成单相boost2路buck与一体的灯驱&#xff0c;如果负载大并且灯的种类比较多&#xff0c;可以把灯驱并联。同时&#xff0c;客户也可以考虑多相boost和…

由于找不到ffmpeg.dll无法执行程序如何修复,分享5种修复方法

ffmpeg.dll的丢失及其对我们日常使用计算机产生的严重影响。想象一下&#xff0c;当你正准备享受一部电影&#xff0c;或是编辑一段珍贵的家庭录像时&#xff0c;电脑突然弹出一个错误提示&#xff1a;“找不到ffmpeg.dll”。那么&#xff0c;ffmpeg.dll文件究竟是什么&#xf…

javaSE-----继承和多态

目录 一.初识继承&#xff1a; 1.1什么是继承&#xff0c;为什么需要继承&#xff1a; 1.2继承的概念与语法&#xff1a; 二.成员的访问&#xff1a; 2.1super关键字 2.2this和super的区别&#xff1a; 三.再谈初始化: 小结&#xff1a; 四.初识多态&#xff1a; 4.1多…

windows部署腾讯tmagic-editor01-Hello world

之前写过一篇使用yarn实现的https://blog.csdn.net/qq_36437991/article/details/133644558&#xff0c;后面的两个没有写&#xff0c;这次准备重新实现 环境 pnpm 8.15.1 node 18.19.0 创建vue项目 pnpm create vitecd hello-world pnpm install执行pnpm dev启动项目 安…

构建高效Web应用:Flask、Django和FastAPI的全面对比

构建高效Web应用&#xff1a;Flask、Django和FastAPI的全面对比 介绍Flask简介快速入门路由和视图函数模板渲染数据库操作Flask项目实战 Django简介快速入门模型和数据库视图和模板表单处理Django项目实战 FastAPI简介快速入门路径操作和参数请求和响应依赖注入FastAPI项目实战…

力扣面试经典150 —— 6-10题

力扣面试经典150题在 VScode 中安装 LeetCode 插件即可使用 VScode 刷题&#xff0c;安装 Debug LeetCode 插件可以免费 debug本文使用 python 语言解题&#xff0c;文中 “数组” 通常指 python 列表&#xff1b;文中 “指针” 通常指 python 列表索引 文章目录 6. [中等] 轮转…

Trans论文复现:考虑源荷不平衡性的微电网鲁棒定价方法程序代码!

适用平台&#xff1a;MatlabYalmipCplex/Gurobi 程序针对目前微电网中高比例新能源发电的波动性和间歇性&#xff0c;提出了考虑源荷不平衡特性的微电网鲁棒定价方法&#xff0c;综合考虑电力市场边际收益和边际成本&#xff0c;利用价格波动来平衡电源和负荷。程序算例丰富、注…

IDEA自带 .http 请求工具文档

基础语法 请求格式 基础格式 Method Request-URI HTTP-Version Header-field: Header-valueRequest-Body其中&#xff0c;GET 请求可以省略 Method 不写&#xff1b;HTTP-Version 可以省略不写&#xff0c;默认使用 1.1 版本。 示例&#xff1a; GET https://www.baidu.co…

浅谈去耦电容的作用、选择、布局及其它电容的区别!

在一些文章资料中&#xff0c;去耦电容器被认为是旁路电容器。在其他资料中&#xff0c;去耦电容和旁路电容的区别在于&#xff1a;“旁路电容以输入信号中的干扰为滤波对象&#xff0c;而去耦电容以输出信号的干扰为滤波对象&#xff0c;防止干扰信号返回到输出端。”力量。”…

[密码学]入门篇——加密方式

一、概述 加密方法主要分为两大类&#xff1a; 单钥加密&#xff08;private key cryptography&#xff09;&#xff1a;加密和解密过程都用同一套密码双钥加密&#xff08;public key cryptography&#xff09;&#xff1a;加密和解密过程用的是两套密码 历史上&#xff0c…

day37 贪心算法part6

738. 单调递增的数字 中等 提示 当且仅当每个相邻位数上的数字 x 和 y 满足 x < y 时&#xff0c;我们称这个整数是单调递增的。 给定一个整数 n &#xff0c;返回 小于或等于 n 的最大数字&#xff0c;且数字呈 单调递增 。 不知道怎么讲思路……以9287举例&#xff0c;…