当前位置: 首页 > news >正文

Python (十六) 错误和异常


程序员的公众号:源1024获取更多资料,无加密无套路!

最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》,《Java并发编程实战》等等
获取方式: 关注公众号并回复 电子书 领取,更多内容持续奉上


 

目录

语法错误

异常

异常处理

处理形式

抛出异常

自定义异常

系列文章索引


Python有两种错误:语法错误和异常。

语法错误

while Trueprint('Hello world')   

这种错误,编译器会给出提示,按照提示修改即可。

异常

语法正确,但是代码运行时被检测到的错误。

print('1' + 2)#报错
TypeError: can only concatenate str (not "int") to str
print(100/0)#报错
ZeroDivisionError: division by zero

上面代码都发生了异常:TypeError异常、ZeroDivisonError异常

异常处理

Python 程序捕捉异常使用 try/except 语句

处理形式
#try/excepttry:...except 异常类型:...#try/except...elsetry:...except 异常类型:...else:...# try-finallytry:...except 异常类型:...else:...finally:...
def testException(n):try:print('try:',100 / n)except ZeroDivisionError:print('except异常逻辑处理。。。')else:print('else 逻辑处理。。。')finally:print('finally 逻辑处理。。。')testException(0)  
#输出
except异常逻辑处理。。。
finally 逻辑处理。。。testException(1)  
#输出
try: 100.0
else 逻辑处理。。。
finally 逻辑处理。。。

else在所有 except 之后使用,没有出现异常时执行;

finally 无论是否出现异常都会执行,最后执行。

抛出异常

a = 0
if a == 0:raise Exception('a不能为0')#输出
Exception: a不能为0

自定义异常

class MyException(Exception):def __init__(self, msg):self.msg = msgdef __str__(self):return repr(self.msg)def test():try:raise MyException('触发自定义异常了。。。')except MyException1 as e:print('MyException异常信息:' + e.msg)else:print('不是MyException异常')    finally:print('结束了。')    test()  
#输出
MyException异常信息:触发自定义异常了。。。
结束了。


系列文章索引

Python(一)关键字、内置函数

Python(二)基本数据类型

Python(三)数据类型转换

Python(四)字符串

Python(五)数字

Python(六) 列表

Python(七) 条件控制、循环语句

Python(八) 字典

Python(九) 集合

Python (十) 元组


http://www.lryc.cn/news/249099.html

相关文章:

  • Android进阶之路 - TextView文本渐变
  • 【复位与释放(亚稳态)模为60的BCD码计数器_2023.11.22】
  • ABAP: JSON 报文解析——/ui2/cl_json
  • android NDK相关,调用C库,JNI,交叉编译,跨平台
  • 汽车功能安全ISO26262
  • Node.js+Express+Nodemon+Socket.IO构建Web实时通信
  • 广州华锐互动:AR可视化展示昆虫让教学过程更直观生动
  • .NET开源的处理分布式事务的解决方案
  • 如何隐藏选择选项值并用新值替换2个选项?
  • [读论文][跑代码]BK-SDM: A Lightweight, Fast, and Cheap Version of Stable Diffusion
  • 机器学习的复习笔记1
  • 【Spring Boot】如何集成Swagger
  • 优化-查询数据接口太慢
  • c++ 谓词
  • 一篇总结 Linux 系统启动的几个汇编指令
  • python技术栈之单元测试中mock的使用
  • LeetCode(37)矩阵置零【矩阵】【中等】
  • [Python入门系列之十一]在windows上安装OpenCV
  • 论文阅读——SEEM
  • Python入门06布尔值
  • js查询详情接口控制执行时间的命令
  • Linux系统iptables
  • 每日一题 1410. HTML 实体解析器(中等,模拟)
  • Docker Swarm总结+service创建和部署、overlay网络以及Raft算法(2/5)
  • 对抗产品团队中的认知偏误:给产品经理的专家建议
  • element-ui表格无法横向拖动问题
  • 每天学习一点点之 MySQL TINYINT
  • 【数据集】未来不同情景下预测数据:如人口、土地利用等
  • TDA4VM EVM开发板调试笔记
  • 项目里边更换了同名的图片地址 / 图片没有及时更新 / 什么原因