深圳推广网站,青岛知名网站建设哪家好,零基础网站建设教学培训,最良心的网页传奇Langchain系列文章目录
01-玩转LangChain#xff1a;从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块#xff1a;四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain#xff1a;从核心链条构建到动态任务分配的实战指南 04-玩转 LangChai…Langchain系列文章目录
01-玩转LangChain从模型调用到Prompt模板与输出解析的完整指南 02-玩转 LangChain Memory 模块四种记忆类型详解及应用场景全覆盖 03-全面掌握 LangChain从核心链条构建到动态任务分配的实战指南 04-玩转 LangChain从文档加载到高效问答系统构建的全程实战 05-玩转 LangChain深度评估问答系统的三种高效方法示例生成、手动评估与LLM辅助评估 06-从 0 到 1 掌握 LangChain Agents自定义工具 LLM 打造智能工作流
python系列文章目录
01-Python 基础语法入门从变量到输入输出零基础也能学会 02-Python 流程控制终极指南if-else 和 for-while深度解析 03-Python 列表与元组全攻略从新手到高手的必备指南 04-Python 字典与集合从入门到精通的全面解析 05-Python函数入门指南从定义到应用 06-Python 函数高级特性从默认参数到闭包的全面解析 07-Python 模块与包从零到自定义的全面指南 08-Python异常处理从入门到精通的实用指南 文章目录 Langchain系列文章目录python系列文章目录前言一、异常的概念与常见类型1.1 异常是什么1.1.1 异常的实际意义1.1.2 为什么需要异常处理 1.2 常见的异常类型1.2.1 示例代码常见异常1.2.2 应用场景 二、try-except语句的使用2.1 try-except基本用法2.1.1 示例代码捕获单一异常2.1.2 应用场景 2.2 捕获多个异常2.2.1 示例代码多异常处理2.2.2 注意事项2.2.3 进阶用法获取异常信息 三、自定义异常3.1 如何创建自定义异常3.1.1 示例代码简单自定义异常3.1.2 进阶示例带参数的自定义异常 3.2 自定义异常的优势3.2.1 应用场景3.2.2 注意事项 四、总结 前言
在Python编程中异常处理是提升代码健壮性和用户体验的关键技能。无论是初学者还是进阶开发者掌握异常处理都能让你的程序在面对错误时从容应对而不是直接崩溃。本文将从基础入手详细讲解异常的概念、try-except语句的用法以及自定义异常的创建帮助你构建系统的知识体系提升代码质量。
无论你是想快速上手异常处理还是希望深入探索其高级应用这篇文章都能满足你的需求。通过通俗易懂的语言、清晰的代码示例和实际案例你将学会如何让代码更可靠、更专业。 一、异常的概念与常见类型
异常是Python程序运行时遇到的错误或意外情况。理解异常的本质和常见类型是掌握异常处理的第一步。
1.1 异常是什么
异常是指程序在执行过程中遇到的非正常情况会打断代码的正常运行。Python通过内置的异常类来表示这些错误比如除以零、文件找不到等。
1.1.1 异常的实际意义
异常处理的核心目标是让程序在出错时不崩溃而是优雅地处理问题。例如当读取文件失败时可以提示用户检查路径而不是让程序直接终止。
1.1.2 为什么需要异常处理
提升稳定性避免程序因小错误而崩溃。改善用户体验提供友好的错误提示。便于调试通过异常信息快速定位问题。
1.2 常见的异常类型
Python内置了许多异常类以下是初学者和开发者最常遇到的几种
异常类型描述示例场景SyntaxError语法错误代码缩进错误或拼写错误NameError变量未定义使用未声明的变量TypeError类型错误将字符串与整数相加ValueError值错误将“abc”转为整数FileNotFoundError文件未找到试图打开不存在的文件
1.2.1 示例代码常见异常
# NameError 示例
print(undefined_variable) # 输出NameError: name undefined_variable is not defined # TypeError 示例
result 123 456 # 输出TypeError: can only concatenate str (not int) to str # ValueError 示例
num int(abc) # 输出ValueError: invalid literal for int() with base 10: abc 1.2.2 应用场景
了解这些异常类型能帮助你在写代码时提前预防问题并在后续异常处理中准确捕获特定错误。例如处理用户输入时可能需要特别关注ValueError。 二、try-except语句的使用
try-except是Python中最基础、最常用的异常处理工具。它允许你在代码出错时执行备用方案而不是让程序崩溃。
2.1 try-except基本用法
基本语法如下
try: # 可能出错的代码
except 异常类型: # 处理异常的代码 2.1.1 示例代码捕获单一异常
try: result 10 / 0 # 除以零会触发异常
except ZeroDivisionError: print(错误除数不能为零)
# 输出错误除数不能为零 这里try块尝试执行除法操作当发生ZeroDivisionError时程序跳转到except块打印提示信息。
2.1.2 应用场景
try-except特别适合保护容易出错的操作比如
文件读写防止文件不存在。网络请求处理连接失败。用户输入避免无效数据。
2.2 捕获多个异常
有时需要处理多种可能的异常可以在一个except中捕获多个异常或使用多个except分支。
2.2.1 示例代码多异常处理
try: num int(input(请输入一个数字)) result 10 / num
except ValueError: print(错误请输入有效的数字)
except ZeroDivisionError: print(错误除数不能为零) 2.2.2 注意事项
捕获顺序先捕获具体的异常如ValueError再捕获广义的异常如Exception。避免过度捕获不要用except Exception捕获所有异常这样可能隐藏严重问题。
2.2.3 进阶用法获取异常信息
可以用as关键字获取异常的详细信息
try: file open(nonexistent.txt, r)
except FileNotFoundError as e: print(f文件错误{e})
# 输出文件错误[Errno 2] No such file or directory: nonexistent.txt 三、自定义异常
当内置异常无法满足特定需求时可以创建自定义异常让代码更具可读性和针对性。
3.1 如何创建自定义异常
自定义异常通常继承自Exception类并可以添加特定逻辑。
3.1.1 示例代码简单自定义异常
class MyCustomError(Exception): pass try: age -1 if age 0: raise MyCustomError(年龄不能为负数)
except MyCustomError as e: print(e)
# 输出年龄不能为负数 3.1.2 进阶示例带参数的自定义异常
class StockError(Exception): def __init__(self, item, stock): self.item item self.stock stock self.message f{item} 库存不足仅剩 {stock} 件 super().__init__(self.message) try: stock 5 if stock 10: raise StockError(手机, stock)
except StockError as e: print(e)
# 输出手机 库存不足仅剩 5 件 3.2 自定义异常的优势
清晰表达意图异常名称直接反映错误类型如StockError。便于维护集中管理特定业务逻辑的错误。增强扩展性可以添加额外属性或方法。
3.2.1 应用场景
自定义异常在以下场景特别有用
用户认证AuthenticationError。业务逻辑校验InsufficientFundsError。数据验证InvalidInputError。
3.2.2 注意事项
保持异常类简单避免过度复杂化。异常信息要具体便于排查问题。 四、总结
本文从基础到进阶全面讲解了Python异常处理的核心内容
异常的概念与类型理解异常本质熟悉常见错误。try-except用法掌握异常捕获的基本和多异常处理技巧。自定义异常学会创建特定需求的异常类提升代码表达力。
通过这些知识你可以让代码在面对错误时更稳定、更专业。建议在实际项目中多实践例如为文件操作添加异常处理或为业务逻辑设计自定义异常。异常处理不仅是技术更是编程思维的体现。