Python学习笔记(七):异常处理

异常处理部分,只是很粗略的看了一遍。

着重记录try/except块,和if/else类似,不过try是异常控制的,一旦发生异常,跳过其他未执行的语句,直接执行except块中的内容。

知道捕获多种异常的方法,分别处理不同异常的方法,捕获所有异常的方法。

finally语句:无论程序是否发生异常,finally中的内容都会被执行。通常把关闭文件操作放到finally中。

with语句:确保不再使用的文件尽早关闭,可以使用with语句。

下面是示例代码:

# 下面函数在运行时会抛出ValueError
def get_age():
    n = int('s')
    return n
# 将可能发生异常的语句放到try中
def get_age_1():
    try:
        n = int(input('How old are u?'))
        return n
    except ValueError:
        print('Please enter an integer value!')
# 捕获多种异常
def convert_to_int(s,base):
    try:
        return int(s,base)
    except (ValueError,TypeError):
        return 'error'
# 若果要分别处理不同异常,可以写多个except子句
def convert_to_int1(s,base):
    try:
        return int(s,base)
    except ValueError:
        return 'ValueError'
    except TypeError:
        return 'TypeError'
# 捕获所有异常,如果在except子句中没有指定异常,就会捕获所有异常
def convert_to_int2(s,base):
    try:
        return int(s,base)
    except:
        return 'error'
# finally语句,无论是否发生异常,finally中的语句都会执行
# 通常把文件关闭操作放在finally中,这样无论程序是否异常,都能确保文件被关闭
def open_file(fname):
    try:
        f = open(fname,'w')
    except:
        return 'error'
    finally:
        f.close()
# with语句
f = open(fname)
for line in f:
    print(line,end='')
# 上面代码不知道对象f将在什么时间关闭,通常for循环执行完毕,文件就会被关闭,但是我们不知道准确时间
# 使用with语句,让for循环执行完,就立刻关闭f
with open(fname) as f:
    for lint in f:
        print(line,end'')

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值