2021-08-20异常

内置异常类

Exception

类名描述
Exception几乎所有的异常类都是从它派生而来
AttributeError引用属性或给它赋值失败引发的
OSError操作系统不能执行指定的任务时引发,有多个子类
IndexError使用序列中不存在的索引时引发,为LookupError的子类
KeyError使用映射中不存在的键值时引发,为LookupError的子类
NameError找不到名称(变量)时引发
SyntaxError代码不正确时引发
TypeError将内置操作或函数用于类型不正确的对象时引发
ValueError将内置操作或函数用于这样的对象时引发,类型正确但包含的值不合适
ZeroDividionError在除法或求模运算的第二个参数为零时引发

捕获异常

try:
	x=int(input('Enter the first number'))
	y=int(input("Enter the first number"))
except ZeroDividionError:
	print ("The second number can't be zero")
except TypeError:
	print ("That wasn't a number,was it?")

万事大吉捕获异常

我们在捕获异常时经常无法完全考虑到我们有可能遇到的异常,可以通过如下方式获取有用异常
while True:
	try:
		x=int(input("Enter the first number"))
		y=int(input("Enter the second number"))
		value=x/y
		print ('x/y is',value)
	except Exception as e:
		print ('Invalid input:',e)
		print ('please try again')
	else:
		break

finally确保代码块无论是否引发异常都执行

try:
	1/0
except NameError:
	print("Unknown variable")
else:
	print("That went well!")
finally:
	print("Cleaning up")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值