python中异常和错误是同一个概念吗_python错误和异常学习笔记

1. python中的异常

NameError: 尝试访问一个未申明的变量

ZeroDivisionError:

除数为零

SyntaxError: 解释器语法错误

IndexError: 请求的索引超出序列范围

KeyError:

请求一个不存在的字典关键字

IOError: 输入/输出错误

AttributeError: 尝试访问未知的对象属性

ValueError:

值错误

TypeError: 类型错误

SystemExit: 当前python应用程序需要退出

KeyboardInterupt:

用户按下CTRL+C关闭python

2. 检测和处理异常

异常可以通过try语句来检测

try语句有两种主要形式:try-except和try-finally

一个try语句可以对应一个或多个except子句,但只能对应一个finally子句,或是一个try-except-finally复合语句

3. try-except语句

try:

try_suite

except Exception[, reason]:

except_suite

在程序运行时,先尝试执行try块里的所有代码,如果代码块完成后没有异常发生,执行流就会忽略except语句继续执行。而当except语句所指定的异常发生后,我们保存了错误原因,控制流立即跳转到对应的处理器。

4. 带有多个except的try语句

首先尝试执行try子句,如果没有错误,忽略所有的except从句继续执行。如果发生异常将在except子句中查找匹配的异常,如果找到对应的处理器,执行流跳转到对应的except从句执行。

5.处理多个异常的except语句

except (Exception1, Exception2) [, reason]:

suit_for_exception1_and

Exception2

except语句可以处理任意多个异常,前提是它们被放入一个元组里。

捕获所有异常可以使用:

try:

:

except BaseException, e:

#handle all errors

try:

:

except Exception, e:

#handle real

errors

空except子句处理所有异常已经不推荐使用。

6. else子句

在try范围中没有异常被检测到时,执行else子句。

7. finally子句

finally子句无论异常是否发生,是否捕捉都会执行的一段代码。

无论什么语法,至少要有一个except子句,而else和finally都是可选的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值