《程序员的修炼之道:从小工到专家》阅读笔记五

news/2024/11/30 11:35:45/文章来源:https://www.cnblogs.com/zhanglijian/p/18578221

第五章:异常与错误处理

第五章探讨了异常和错误处理在软件开发中的重要性。作者指出,错误是不可避免的,因此处理错误和异常是编写健壮代码的重要步骤。程序员不仅要处理错误,还需要设计出一个可靠的错误处理机制,以确保程序在出现问题时能够有序地进行恢复或退出。

作者介绍了几种常见的错误处理策略。首先,提出了“断言”的使用,通过在代码中添加断言,可以在早期发现不符合预期的条件并及时中止程序。此外,作者强调了“异常处理”的重要性,鼓励在适当的位置捕获异常,避免程序在遇到异常时直接崩溃。作者还建议将错误处理和业务逻辑分离,这样可以避免将异常处理代码与核心功能混在一起,提高代码的可读性和可维护性。

另一个重要的概念是“抛出错误但不隐藏错误”。在开发中,有时程序员为了简化处理,会选择忽略某些错误,而这往往会掩盖真正的问题。作者鼓励程序员不要隐藏错误,而是让系统明确地通知问题的发生,以便在后续维护时更容易定位和修复。

感想

这一章让我更加意识到异常处理的重要性。以前写代码时,我往往把错误处理视为可有可无的部分,甚至在某些情况下会忽略小的错误。但是,这章让我认识到每一个潜在错误都可能在未来引发意料之外的结果。通过断言或异常处理机制可以在错误出现的早期阶段及时发现,避免后续复杂问题的堆积。

此外,“抛出错误但不隐藏错误”的建议让我印象深刻。在项目开发中,有时为了不打扰用户或加快进度,我们会倾向于忽视一些小错误,但这种做法很可能会让小问题变成大漏洞。把错误透明化有助于开发人员更好地理解程序运行的情况,也让系统在遇到问题时可以更加灵活地应对。

作者建议将异常处理与业务逻辑分离,这也让我有所收获。这样的代码结构更加清晰,避免了将不同类型的代码混在一起带来的混乱。在今后的开发中,我会更加重视设计合理的错误处理机制,确保程序的稳定性和可维护性,同时减少因错误处理不当而带来的潜在问题。

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

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

相关文章

[C++][MSVC][Error] 检测到 RuntimeLibrary 的不匹配项: 值 MT_StaticRelease 不匹配值 MD_DynamicRelease

1 简介 本文将介绍在 C++ 编程中使用 MSVC 编译器时可能遇到的错误:检测到 RuntimeLibrary 的不匹配项:值 MT_StaticRelease 不匹配值 MD_DynamicRelease。该错误通常是由于编译器和链接器之间的设置不一致引起的。 2 VisualStudio环境 在 MSVC 工程上右键->属性,找到配置…

ChatRoom pg walkthrough Intermediate

NMAP ┌──(root㉿kali)-[~/lab] └─# nmap -p- -A 192.168.189.110 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-30 00:22 UTC Nmap scan report for 192.168.189.110 Host is up (0.073s latency). Not shown: 65533 filtered tcp ports (no-response) PORT …

vxe-table 树形表格的用法详解

vxe-table 树形表格的使用,支持多种数据结构,可以是带有父子结构的数组,也可以带有层级结构的嵌套数据。 官网:https://vxetable.cn Gitee 带有父子结构的平级数据 只需要带有父子结构的平级数据,例如:id 和 parentId,字段名可以任意设置。对于保存到数据库的平级数据非…

电动车头盔穿戴检测方案

电动车头盔穿戴检测方案的核心在于利用现场监控摄像头捕捉道路上骑电动车、三轮车等骑行者的状态,电动车头盔穿戴检测方案通过深度学习算法自动识别骑行者是否佩戴了安全头盔。在实施过程中,监控摄像头会持续捕捉路面情况,并将图像数据传输至后端服务器(也可以前端分析,本…

滑坡监测识别摄像头

滑坡监测识别摄像头安装在潜在滑坡区域,滑坡监测识别摄像头通过捕捉实时图像,对这些图像进行深度分析,识别出可能的滑坡迹象。一旦系统检测到异常,它将立即发出预警信号,通知相关部门采取紧急措施,从而减少灾害带来的损失。滑坡监测识别摄像头的智能预警系统,不仅提高了…

人员跌倒检测摄像头

人员跌倒检测摄像头的核心在于其搭载的深度学习算法,人员跌倒检测摄像头采用了先进的YOLOX结合OpenCV,能够高效地对视频流进行实时分析和处理,当摄像头检测到有人跌倒时,它会自动对跌倒者进行抓拍,并将当时的图像传输到管理中心。这一过程无需人工干预,大大提高了响应速度…

深度学习发展历史

https://www.bookstack.cn/read/paddlepaddle-tutorials/spilt.3.3d52d8126c99cb7b.md 作者:太一吾鱼水 宣言:在此记录自己学习过程中的心得体会,同时积累经验,不断提高自己! 声明:博客写的比较乱,主要是自己看的。如果能对别人有帮助当然更好,不喜勿喷! …

Latex添加一条水平线——overleaf可以用

https://blog.csdn.net/qq_46753404/article/details/118083320 效果如下:添加水平线语法 {\noindent} \rule[-10pt]{17.5cm}{0.05em}\\ {\noindent} 表示取消缩进 \rule[水平高度]{长度}{粗细}

Latex高亮文本,简单有效——overleaf也可以用

https://blog.csdn.net/ShuqiaoS/article/details/118217508 普通文本高亮 效果是这样的:首先在开头使用: \usepackage{soul, color, xcolor} 之后在需要高亮的地方使用: \hl{文本} (注意,如果应用了\hl但是没有反应或者高亮有问题,多半是由于没有包含color和xcolor的缘故…

【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做?

【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做? NLP Github【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做?NLP Github 项目:NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、…

考研打卡(31)

开局(31) 开始时间 2024-11-30 08:23:52 结束时间 2024-11-30 09:24:35睡醒了。睡了六个小时睡不着了数据结构若一个有向图中的顶点不能排成一个拓扑序列,则可断定该有向图______(武汉科技大学 2013年) A 是个有根有向图 B 是个强连通图 C 含有多个入度为0的顶点 D 含有顶…