Python:【学习笔记】异常处理及程序调试

1 python中常见的异常

异常描述
NameError尝试访问一个没有声明的变量引发的错误
IndexError索引超出序列范围引发的错误
IndentationError缩进错误
ValueError传入的值错误
KeyError请求一个不存在的字典关键字引发的错误
IOError输入输出错误(文件不存在)
ImportError无法找到相应模块或者名称
AttributeError尝试访问未知的对象属性引发的错误
TypeError类型不适合引发的错误
MemoryError内存不足
ZeroDivisionError除数0引发的错误

2 异常处理语句

2.1 try…except 语句

如果try后面语句发生异常的话,则执行except语句:

try:
    pass
except [ExceptionName [as alias]]:
    pass

注意:如果没在except后面接上异常类型名称的话,则默认捕获所有异常。如果try后面语句存在异常时,则系统捕获异常后继续执行。

2.2 try…except…else 语句

如果try后面语句没有发生异常的话,则执行else语句:

try:
    run()
except IndexError:
    pass
except NameError as nr:
    print(nr)
else:
    print('Success!')

2.3 try…except…finally 语句

无论try后面语句是否存在异常,都会执行finally语句:

try:
    run()
except IndexError:
    pass
except NameError as nr:
    print(nr)
finally:
    print('程序运行了一次。')

3 使用raise语句抛出异常

raise语句使用格式如下:

raise [ExceptionName[(reason)]]

例子:

raise ValueError("用户输入的值过小")

4 assert语句调试

assert语句使用格式如下:

assert expression [, reason]

如果表达式是错误的,系统将会自动报错跳出。
例子:

Jack_age = 19
Mike_age = 18
assert Jack_age < Mike_age, 'Jack比Mike小!'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值