返回顶部
扩大
缩小

Zhang_derek

9.python异常处理

常见异常

1
2
3
4
5
6
7
8
9
10
11
12
13
AttributeError       试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x
FileNotFoundError    输入/输出异常;基本上是无法打开文件
ImportError          无法引入模块或包;基本上是路径问题或名称错误
IndentationError     语法错误(的子类) ;代码没有正确对齐
IndexError           下标索引超出序列边界,比如当x只有三个元素,却试图访问x[5]
KeyError             试图访问字典里不存在的键
KeyboardInterrupt    Ctrl+C被按下
NameError            使用一个还未被赋予对象的变量
SyntaxError          Python代码非法,代码不能编译(个人认为这是语法错误,写错了)
TypeError            传入对象类型与要求的不符合
UnboundLocalError    试图访问一个还未被设置的局部变量,基本上是由于另有一个同名的全局变量,
                     导致你以为正在访问它
ValueError           传入一个调用者不期望的值,即使值的类型是正确的
复制代码
name = [1,2,3]
try:
    print(name[5])
except IndexError as e:
    print("列表操作错误",e)
IndexError
复制代码
复制代码
data = {'zhang':12}
try:
    print(data['li'])
except KeyError as e:
    print("没有这个key",e)



没有这个key 'li'
KeyError
复制代码
复制代码
try:
    open("tes.txt")

except (KeyError,IndexError) as e :
    print("没有这个key",e)

except IndexError as e :
    print("列表操作错误",e)

except Exception as e:
    print("未知错误",e)

else:
    print("一切正常")

finally:
    print("不管有没有错,都执行")
异常结构
复制代码
复制代码
try:
    raise Exception('错误')
except Exception as e:
    print(e)
主动触发异常
复制代码

 

  

posted on   zhang_derek  阅读(1296)  评论(0编辑  收藏  举报

编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

目录导航