掘金 人工智能 07月14日 21:56
苦练Python第18天:Python异常处理锦囊
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了Python中异常处理的重要性及其实践方法,旨在帮助开发者编写更健壮、用户友好的代码。文章首先解释了什么是异常,以及在程序中可能出现的各种异常情况。接着,详细阐述了try、except、else和finally的用法,并提供了多异常捕获和自定义异常的示例。最后,总结了异常处理的最佳实践,强调了捕获具体异常、释放资源和提供清晰错误提示的重要性。

💡 异常是程序运行中的“意外”,例如除零错误、访问不存在的索引等,会中断程序的正常流程。为了应对这些问题,我们需要使用异常处理机制。

🛡️ `try-except-else-finally`是Python异常处理的核心。`try`块包含可能引发异常的代码;`except`块用于捕获并处理特定类型的异常;`else`块在`try`块没有发生异常时执行;`finally`块无论是否发生异常都会执行,常用于资源清理。

🎯 Python允许捕获多种异常,通过在`except`子句中使用元组来指定多个异常类型。此外,还可以自定义异常类,以便更好地处理特定业务逻辑中的错误。

✅ 异常处理的最佳实践包括捕获具体的异常类型以避免过度捕获,使用`finally`块来确保资源的释放,以及提供清晰、友好的错误提示,增强用户体验。

苦练Python第18天:Python异常处理锦囊

原文链接:dev.to/therahul_gu…
作者:Rahul Gupta
译者:倔强青铜三

前言

大家好,我是倔强青铜三。是一名热情的软件工程师,我热衷于分享和传播IT技术,致力于通过我的知识和技能推动技术交流与创新,欢迎关注我,微信公众号:倔强青铜三。欢迎点赞、收藏、关注,一键三连!!!

欢迎来到 100 天 Python 挑战第 18 天
今天,我们将攻克 异常处理:让程序在遭遇错误时不再崩溃,而是优雅地恢复并给出提示。


📦 今日收获清单


⚠️ 异常是什么?

异常(Exception)运行时错误,会打断程序正常流程。
常见场景:

无保护代码:

num = int(input("Enter a number: "))print(10 / num)

用户输入 0 或字母,程序直接崩溃。
下面加上“安全网”。


✅ 基础 try-except

try:    num = int(input("Enter a number: "))    result = 10 / num    print(result)except ZeroDivisionError:    print("You can't divide by zero!")except ValueError:    print("Please enter a valid number.")

运行示例:


🎯 一网打尽?(谨慎使用)

try:    risky_code()except Exception as e:    print("Something went wrong:", e)

适合记录日志,但日常开发请尽量捕获具体异常。


🧠 else & finally 双保险

try:    num = int(input("Enter number: "))    result = 10 / numexcept ZeroDivisionError:    print("Can't divide by zero.")else:    print("Division successful:", result)finally:    print("This always runs.")

🔁 一次捕获多种异常

try:    numbers = [1, 2, 3]    print(numbers[5])  # IndexErrorexcept (IndexError, ValueError) as e:    print("An error occurred:", e)

🚀 实战:安全读取用户年龄

def get_age():    try:        age = int(input("Enter your age: "))        print("You are", age, "years old.")    except ValueError:        print("Invalid age. Please enter a number.")get_age()

🧰 进阶:自定义异常

定义业务专属错误类型:

class AgeTooLowError(Exception):    passdef check_age(age):    if age < 18:        raise AgeTooLowError("You must be at least 18.")

🧼 异常处理最佳实践


🧠 一日精华

最后感谢阅读!欢迎关注我,微信公众号倔强青铜三。欢迎点赞收藏关注,一键三连!!!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

Python 异常处理 try-except 错误处理
相关文章