python之异常(一)

引发异常(1)

在交互式解释器中,输入10/2,将会得到结果5。但是输入10/0,将会报错。这个时候交互式解释器自动引发异常,而且会下分到某个类。
常见的异常

Exception一种很通用的异常类,派生了很多其他的异常
AttributeError属性或者赋值出现问题时引发的异常
OSError操作系统无法执行分配的任务
IndexErrorIndex是用来获得索引,所以此类错误是使用不存在的索引引发
KeyErrorKey代表键,使用了不存在的键将引发此类错误
NameError通过名称很容易知道,找不到名称引发的错误
SyntaxError这个就是代码不对,就会出现这类错误
TypeError比如10/name,我们很容易看到,输入类型错误,这会引发类型错误
ZeroDivisionError除法或者求模时,分母为0,如最开始的例子,引发此类错误
ValueError类型正确,值不合适,如上面的例子,分母可以是2,不能是0

捕获异常时,可以自定义处理的操作,借助try/except

try:
x=int(input("Enter the first number:"))
y=int(input("Enter the second number:"))
print(x/y)
except ZeroDivisionError:
print("The second number can not be 0")

这就会在引发零除错误时输出自定义的字符串“The second number can not be 0”
可以通过多个except语句处理多种异常,也可以通过一个except语句,使用元组捕获多种异常,如:
except(ZeroDivisionError,TypeError,NameError): print("you are wrong !")
参数不一定是一个,元组中包含多个参数,但是元组是一个整体,所以也代表一个参数。
比如前面程序进行修改:

except(TyprError,NameError) as e:
print(e)

捕获两种异常,而且可以显式地捕获对象本身,能够让用户知道发生了什么情况。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值