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'')

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页