python异常处理机制的好处_python正确使用异常处理机制

Python——异常处理机制 Python异常处理相关知识点 阅读详情

一.不要过度使用异常

不可否认,Python 的异常机制确实方便,但滥用异常机制也会带来一些负面影响。过度使用异常主要表现在两个方面:

把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单地引发异常来代苦所有的错误处理。

使用异常处理来代替流程控制。

熟悉了异常使用方法后,程序员可能不再愿意编写烦琐的错误处理代码,而是简单地引发异常。实际上这样做是不对的,对于完全己知的错误和普通的错误,应该编写处理这种错误的代码,增加程序的健壮性。只有对于外部的、不能确定和预知的运行时错误才使用异常。

二.不要使用过于庞大的 try 块

很多初学异常机制的读者喜欢在 try 块里放置大量的代码,这看上去很“简单”,但这种“简单”只是一种假象,只是在编写程序时看上去比较简单。但因为 try 块里的代码过于庞大,业务过于复杂,就会造成 try 块中出现异常的可能性大大增加,从而导致分析异常原因的难度也大大增加。

而且当时块过于庞大时,就难免在 try 块后紧跟大量的 except 块才可以针对不同的异常提供不同的处理逻辑。在同一个 try 块后紧跟大量的 except 块则需要分析它们之间的逻辑关系,反而增加了编程复杂度。

正确的做法是,把大块的 try 块分割成多个可能出现异常的程序段落,并把它们放在单独的 try 块中,从而分别捕获并处理异常。

三.不要忽略捕获到的异常

不要忽略异常!既然己捕获到异常,那么 except 块理应做些有用的事情,及处理并修复异常。except 块整个为空,或者仅仅打印简单的异常信息都是不妥的!~

except 块为空就是假装不知道甚至瞒天过海,这是最可怕的事情,程序出了错误,所有人都看不到任何异常,但整个应用可能已经彻底坏了。仅在 except 块里打印异常传播信息稍微好一点,但仅仅比空白多了几行异常信息。通常建议对异常采取适当措施,比如:

处理异常。对异常进行合适的修复,然后绕过异常发生的地方继续运行;或者用别的数据进行计算,以代替期望的方法返回值;或者提示用户重新操作……总之,程序应该尽量修复异常,使程序能恢复运行。

重新引发新异常。把在当前运行环境下能做的事情尽量做完,然后进行异常转译,把异常包装成当前层的异常,重新传给上层调用者。

在合适的层处理异常。如果当前层不清楚如何处理异常,就不要在当前层使用 except 语句来捕获该异常,让上层调用者来负责处理该异常。

【Python从入门到精通】(十六)Python异常机制2,正确使用Python异常机制的姿势是啥 异常机制虽好用,可不能滥用哦 阅读详情

相关推荐

Visionpro 使用CogPMAlignTool工具提取匹配轮廓点

【代码】Visionpro 使用CogPMAlignTool工具提取匹配轮廓点。

weixin_43947315的博客 2091

Python异常(try...except)对代码运行性能的影响

本文主要测试并探讨Python中的异常处理会对代码运行性能造成的影响。

不忘初心,方得始终 2万+

TouchGFX在STM32上的移植全过程:超详细版指南

深入讲解将TouchGFX集成到STM32开发环境的每一步,涵盖配置、驱动适配与UI调试。无论是初学者还是进阶开发者,都能快速掌握TouchGFX在嵌入式平台的应用技巧。

weixin_42443533的博客 600

Python中的异常处理机制可以帮助程序员在程序运行过程中遇到错误时进行处理

Python中还有一种特殊的异常处理语句,即finally语句。除了使用try-except语句来处理异常,我们还可以使用raise语句来抛出异常。例如,我们可以在函数中使用raise语句来抛出异常,以便在函数外部进行处理。在except语句块中,我们可以使用as关键字来定义一个变量,该变量将包含异常信息的详细描述。在except语句块中,我们可以使用多个except语句来处理不同类型的异常。Python中的异常处理机制可以帮助程序员在程序运行过程中遇到错误时进行处理,防止程序崩溃或出现不可预测的错误。

smarten57的博客 1513

Spring AI Alibaba Graph进阶:如何用图算法优化你的推荐系统?

本文深入探讨了如何利用Spring AI Alibaba Graph的图算法优化推荐系统。通过分析用户行为数据的网络化特征,结合加权随机游走和社区发现算法,显著提升推荐精准度和用户点击率。文章还分享了混合推荐架构设计、性能优化技巧及生产环境中的实战经验,为开发者提供了一套完整的图算法推荐解决方案。

weixin_33738555的博客 127

RK806S PMIC电源管理芯片调试

当点按PWRON按键时,rk806上电开始启动bootloader和uboot,在执行到此处时检测到是由于按键启动的,所以0x5d的值是0x80,0x74的值是0x80,在一般情况下,mode都默认是none的,所以mode值为11,因此就进入了我们的if判断,若是由于按键启动的,则直接调用rk8xx_shutdown函数关掉,进入这个函数会看到实际是通过i2c给0x72寄存器的BIT(0)写1,使其关机。当SoC在12V电源已经接入,且处于关机状态时,使用PWRON按键开机,0x74的值则为0x80。

Y1anoohh的博客 2539

10.2 Python异常处理机制到底有什么用?

异常处理是现代编程语言不可或缺的能力,它已经成为衡量一门编程语言是否成熟和健壮的标准之一,C++、Java、C#、Python 等高级语言都提供了异常处理机制。 无论你是多么优秀的程序员,你都不能保证自己的程序永远不会出错。就算你的程序没有错,用户也不一定按照你设定的规则来使用你的程序,总有一些小白或者极客会“玩弄”你的程序。 除此以外,你也不能保证程序的运行环境永远稳定,比如操作系统可能崩溃,网络可能无法连接,内存可能突然坏掉…… 总之,你基本什么都保证不了。但是,作为一个负责任的程序员,我们要让自己的程

小董老师的博客 551

Kettle Web版部署指南

看到以上的日志则表示启动成功。

2401_89221867的博客 1715

Python异常处理机制

Python异常处理机制

Charge8的博客 4514

Android 音频源码分析——音量调节流程

源码分析基于android9.0 一、声音类型 对于大多数手机用户来说,操作手机音量按键可以看到,声音类型分为四种:媒体、铃声、闹钟、通话,但是其系统内部则分为十几种类型。 声⾳类型用来区分不同播放用途及播放设备,包含11中类型 定义在 frameworks/base/media/java/android/media/AudioSystem.java中 /** Used to identify the default audio stream volume */ public static final in

奋斗的菜鸟ing 3816

Ardupilot环境搭建

Ardpilot介绍:ArduPilot通过多种传感器的数据(GPS、加速度计、气压计、磁场计)等来估计飞行器的姿态,从而使飞行器能够保持稳定。

weixin_62387234的博客 2633

python中的异常处理

使用自定义例外try:")

瑞瑞的博客 975

AUTOSAR从入门到精通-诊断事件管理模块(DEM)(四)

在 Autosar 中,诊断事件是指在车辆电子系统中发生的特定事件,可以用于诊断和故障排除。DEM模块通过EventId和相关的EventName来表示每个诊断事件。诊断事件的状态代表了监控器的结果,DEM模块通过RTE或其他BSW模块从SW-C接收监控器的结果。DEM模块使用EventId来管理系统中每个诊断事件的状态,并对各个测试结果执行所需的操作,例如存储冻结帧/拓展帧。所有监控器和BSW模块使用EventId作为符号化的EventName来管理诊断事件。

getusushu的博客 1508

python异常处理机制的好处_Python异常处理机制到底有什么用?

异常处理是现代编程语言不可或缺的能力,它已经成为衡量一门编程语言是否成熟和健壮的标准之一,C++、Java、C#、Python 等高级语言都提供了异常处理机制。无论你是多么优秀的程序员,你都不能保证自己的程序永远不会出错。就算你的程序没有错,用户也不一定按照你设定的规则来使用你的程序,总有一些小白或者极客会“玩弄”你的程序。除此以外,你也不能保证程序的运行环境永远稳定,比如操作系统可能崩溃,网络可...

weixin_39883906的博客 177

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

【Python学习教程】Python异常处理机制

文章目录什么是异常处理,Python常见异常类型(入门必读)Python语法错误Python运行时错误Python异常处理机制到底有什么用?Python try except异常处理详解(入门必读)获取特定异常的有关信息Python异常处理机制的底层实现Python try except else详解Python try except finally:资源回收Python异常处理机制结构详解Python logging模块用法快速攻略Python logging日志级别Python logging禁用日志将

qq_41854911的博客 5673

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

python异常处理机制的好处_浅谈Python异常处理机制

异常机制己经成为衡量一门编程语言是否成熟的标准之一,使用异常处理机制的 Python 程序有更好的容错性,更加健壮。对于计算机程序而言,情况就更复杂了一一没有人能保证自己写的程序永远不会出辛苦!就算程序没有错误,你能保证用户总是按你的意愿来输入?就算用户都是非常“聪明而且配合”的,你能保证运行该程序的操作系统永远稳定?你能保证运行该程序的硬件不会突然坏掉?你能保证网络永远通畅……你无法保证的情况太...

weixin_39977276的博客 214

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

10.12 Python异常机制使用细则,正确使用Python异常处理机制

前面介绍了使用异常处理的优势、便捷之处,本节将进一步从程序性能优化、结构优化的角度给出异常处理的一般规则。 成功的异常处理应该实现如下 4 个目标: 使程序代码混乱最小化。 捕获并保留诊断信息。 通知合适的人员。 采用合适的方式结束异常活动。 下面介绍达到这些效果的基本准则。 不要过度使用异常 不可否认,Python 的异常机制确实方便,但滥用异常机制也会带来一些负面影响。过度使用异常主要表现在两个方面: 把异常和普通错误混淆在一起,不再编写任何错误处理代码,而是以简单地引发异常来代苦所有的错误处理。

小董老师的博客 785

Python 异常处理机制详解

可以自定义异常类,并在try-except语句中捕获和处理这些自定义异常。代码:class MyCustomException(Exception):pass解释:这里定义了一个名为的自定义异常类,它继承自 Python 的内置异常类Exception。代码:try:raise MyCustomException("这是一个自定义异常")

cgqyw的专栏 1835

简述python的异常处理机制_Python异常机制使用细则,正确使用Python异常处理机制(入门必读)...

前面介绍了使用异常处理的优势、便捷之处,本节将进一步从程序性能优化、结构优化的角度给出异常处理的一般规则。成功的异常处理应该实现如下 4 个目标:使程序代码混乱最小化。捕获并保留诊断信息。通知合适的人员。采用合适的方式结束异常活动。下面介绍达到这些效果的基本准则。不要过度使用异常不可否认,Python 的异常机制确实方便,但滥用异常机制也会带来一些负面影响。过度使用异常主要表现在两个方面:把异常和...

weixin_39961855的博客 159

python使用异常的目的和好处_python之异常处理

在没有写这篇博客之前,可能在我们的程序中就抛出过很多各种各样的异常,今天笔者就做一个简单的总结。打印一个不存在的变量或者名字异常信息包括三部分信息:1.Traceback:异常的追踪信息,异常出现在哪个文件中的哪一行2.NameError:异常类型,都内置在python中3.name 'x' is not defined :异常内容在python中,有很多不同的异常,也就是说有很多不同的类型去标识...

weixin_39863008的博客 468

python异常处理机制的好处_python之异常处理

一 异常和错误1 错误:逻辑错误: 算法写错了,函数或者类使用出错语法错误:变量名写错了,语法错误2 异常(exception)本意就是意外情况有一个前提,没有出现上面的错误,也就是说程序写的没有问题,但在某些情况下,会出现一些意外,导致程序无法正常执行下去,异常时不可能避免的,如open函数操作一个文件,文件不存在,或者创建一个文件时已经存在了,或者访问一个网络文件,突然断网了,这就是异常,时意...

weixin_39928768的博客 216

Python程序异常处理

异常就是程序运行时发生错误的信号,在程序由于某些原因出现错误的时候,若程序没有处理它,则会抛出异常,程序也的运行也会随之终止;1.程序终止,无法运行下去;2…如果程序是面向客户,那么会使客户的体验感很差,进而影响业务;当处理不确定因素时,比如有用户参与,有外界数据传入时,都容易出现异常;1.由于语法错误导致程序出现异常,这种错误,根本过不了Python解释器的语法检查,必须在程序执行前就改正;

Python编程学习的博客 6456

python使用异常的目的与好处_Python之异常处理

Python 异常处理1.捕获异常 (作用:程序运行过程中,可能会出现意想不到的异常,如果异常未被解决,程序会崩溃,停止运行)#例如,以下例子a='name'print(a[10]) #报错:IndexError: string index out of rangeprint('今天是个好天气') #报错后面的程序将不会执行所以,异常处理就显得很有必要捕获异常的基础语法:1.处理异常定义,如...

weixin_29447621的博客 1419
上一篇: Python Pymysql实现数据存储
下一篇: 最好用的 Python 虚拟环境,没有之一
Python文泽老师
博客等级 码龄7年 1320粉丝 278原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值