python --异常

try:

f = open(filename,mode)

except IOError,msg:

pass

finally:

f.close();

1,如果在运行时发生异常的话,解释器会查找相应的处理语句(称为handler)

2,要是在当前函数里没有找到的话,他会将异常传递给上层调用的函数,看看那里能不能处理

3,如果在最外层(全局‘main’)还是没有找到的话,解释器就会退出,同时打印出traceback以便让用户找出错误产生的原因


注意:虽然大多数错误会导致异常,但是一个异常不一定代表错误,有时他们只是给一个警告,有时候他们可能是一个终止信号比如退出循环等


finally  语句

Python提供try--finally字句用来表述这样的情况:我们不关心捕捉到是什么错误,无论错误是不是发生,这些代码“必须”运行,比如文件的关闭,释放锁,

把数据库连接返回给连接池等


raise 抛出异常

if 'a'>5:

raise TypeError("something")


python中的异常

AssertionError assert语句失败

AttributeError 试图访问一个对象没有的属性

IOEeeor 输入输出异常,基本是无法打开文件

ImportError 无法引入模块或者包,基本是路径问题

IndentationError 语法错误,代码没有正确的对齐

IndexError 下标索引超出序列边界

KeyError 试图访问你字典里不存在的键

KeyboardInterrupt Ctrl+c被按下

NameError 使用一个还没有赋予对象的变量

SyntaxError Python代码逻辑语法错误,不能执行

TypeError 传入的对象类型与要求不符

UnboundLocalError 试图访问一个还未设置的全局变量,基本上是由于另有一个同名的全局变量,导致你以为在访问

ValueError 传入一个不被期望的值,即使类型正确

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值