5 python中的错误处理模式(超越try-except)
停止让错误崩溃您的应用程序。掌握了处理像专业人士这样的失败的5个python模式!
来源:KDnuggets关于错误处理,我们通常会学到的第一件事是如何使用Try-Except块。但是,这真的足够了,因为我们的代码库变得越来越复杂?我相信不是。仅依靠试验可能会导致重复,混乱且难以维护的代码。
但是,这真的足够了,因为我们的代码库变得越来越复杂?在本文中,我将介绍5个高级但实用的错误处理模式,这些模式可以使您的代码更清洁,更可靠且易于调试。每种模式都有一个现实世界的示例,因此您可以清楚地看到在哪里以及为什么有意义。因此,让我们开始。
5高级但实用的错误处理模式1。批处理处理的错误聚合
处理多个项目(例如,在循环中)时,即使某些项目失败,您可能需要继续处理,然后在最后报告所有错误。这种称为错误聚合的模式避免停止第一个故障。此模式非常适合形式验证,数据导入方案或您想要提供有关所有问题的全面反馈而不是在第一个错误中停止的任何情况。
错误聚合示例:处理用户记录列表。即使有些失败,继续。
示例:此代码通过用户记录循环并单独处理每个代码。如果记录缺少电子邮件,它将筹集一个值,该估算被捕获并存储在错误列表中。所有记录的过程都将继续,任何失败都在结束时报告,而不会停止这样的整个批次:
输出: 处理的用户#1:qasim@example.com 处理的用户#3:zeenat@example.com 处理错误的处理: - 记录#2失败:记录中缺少电子邮件{'电子邮件':''} - 记录#4失败:记录中缺少电子邮件{'电子邮件':''}输出:
2。资源管理的上下文管理器模式
示例:假设您正在阅读CSV文件并希望确保其正确关闭,即使处理文件失败也是如此。
valueerror file.closed ConnectionError databaseaccesserror