python学习第三天

python学习第三天

异常概念

异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。
一般情况下,在Python无法正常处理程序时就会发生一个异常。
异常是Python对象,表示一个错误。
当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行。

异常处理

捕捉异常可以使用try…except语句。
中文语法为:

try:
语句                   #运行别的代码
except  名字:         #名字处填的是异常的名字
<语句>                 #如果在try部份引发了'name'异常
except 名字,数据:
语句>                  #如果引发了'name'异常,获得附加的数据
else:
语句                   #如果没有异常发生

try的工作原理,就是在程序遇到try语句开始之后,python就开始做出标记,这样当遇到异常的时候,程序就会回到这里。如果遇到except中的异常,就会返回自己设置的异常名,如果是非定义的异常,则会返回python默认的异常名,如果没有异常,则会运行else中的语句,例:

dict1 = {'a': 1, 'b': 2, 'v': 22}
try:
    x = dict1['y']
except LookupError:
    print('查询错误')
except KeyError:
    print('键错误')
else:
    print(x)

返回

查询错误

还可以使用except语句处理多个异常信息,语句如下:

try:
    正常的操作
except(Exception1[, Exception2[,...ExceptionN]]]):
   发生以上多个异常中的一个,执行这块代码
else:
    如果没有异常执行这块代码

try - except - finally 语句
不管try - except语句有没有运行,最后的finally都会运行,例:

dict1 = {'a': 1, 'b': 2, 'v': 22}
try:
    x = dict1['y']
except LookupError:
    print('查询错误')
finally:
	print('我是finally语句')

查询结果:

查询错误
我是finally语句

raise语句
raise语句自己触发异常,语法如下:

raise [Exception [, args [, traceback]]]

例:

try:
    raise NameError('Hello World')
except NameError:
    print('My Name is Hello World!')

输出结果:

My Name is Hello World!

简单来说,try- except就是一个被动技能,需要有错误才能被触发,而raise是一个主动技能,能主动触发错误,输出错误信息。

学习地址为阿里天池的阿里天池龙珠计划python训练营,地址:https://tianchi.aliyun.com/s/bcfaedf7a7961e48effcc495bd5ee9d0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值