python 异常处理
1. try……except
a = dict(name = 'wang')
b = [1,2,3]
try: # 尝试着执行try里面的代码
print(a)
print(a['age'])
print(b[100])
except (NameError,) as e: # 遇到NameError的错误,则抛出(可以将多个错误写在一行,用括号括起来,逗号隔开)
print(e)
except KeyError as e: # keyError
print('key_error',e)
except Exception as e: # 所有能抛出的异常都可以抛出
print('未知错误。')
else:
print('没有错误,才执行此句。可以省略')
finally:
print('总会执行此句。可以省略')
2. 自定义异常
# 自定义 异常
class NumError(Exception): # 创建一个异常类,继承自Exception
def __init__(self,info):
super().__init__(self) # 继承父类的方法
self.info = info
def __str__(self): # __str__方法,打印对象即可直接打印返回值
return self.info
num = [1,2,3,4,5]
try:
if len(num)<100:
raise NumError('Length Error') # 通过raise主动抛出异常
except NumError as e:
print(e)
分类:
python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构