• Python--异常处理


    方式一:try语句:

    1使用try和except语句来捕获异常

    try:
        '''要执行的代码块'''
    except:
        '''发生异常时,执行的代码块'''
    try:
       '''要执行的代码块'''
    except:
        '''发生异常时执行时,执行的代码块'''
    finally:
        '''无论是否发生异常,最终都要执行的代码块'''
    try:
        '''要执行的代码块'''
    except:
        '''发生异常时,执行的代码块'''
    else:
        '''如果没有发生异常,执行的代码块'''
    try:
        '''要执行的代码块'''
    except[exception1[, exception2[, ,,,exceptionN]:
        '''发生以上多个异常时,执行的代码'''
    else:
        '''没有发生异常时,执行的代码'''

    该种异常处理语法的规则是:

    ·   执行try下的语句,如果引发异常,则执行过程会跳到第一个except语句。

    ·   如果第一个except中定义的异常与引发的异常匹配,则执行该except中的语句。

    ·   如果引发的异常不匹配第一个except,则会搜索第二个except,允许编写的except数量没有限制。

    ·   如果所有的except都不匹配,则异常会传递到下一个调用本代码的最高层try代码中。

    ·   如果没有发生异常,则执行else块代码。

    产生一个异常并由except组处理时,Python解释器将一个异常对象传入这个except组。只需做一个很小的修改就可以在代码中使用这个异常(作为一个标识符):

    except IOError as err:
        print('File error: ' + str(err))

    用with处理文件:

    由于处理文件时try/except/finally模式相当常用,所以Python提供了一个语句来抽象出相关的一些细节。对文件使用with语句时,可以大大减少需要编写的代码,因为with语句就不需要包含一个finally组来处理文件的关闭,即妥善关闭一个可能打开的数据文件。

    try:
        data = open(‘its.txt’, "w"print("It's ... ", file = data)
    except IOError as err:
        print("File error: " + str(err))
    finally:
        if 'data' in locals():
            data.close()

    上述代码可以用with改写为:

    try:
        with open(‘its.txt’, "w") as data:
             print("It's...", file = data)
    except IOError as err:
        print('File error: ' + str(err))

    使用with就不用使用finally组了,不用担心关闭打开的文件了。

  • 相关阅读:
    FocusScope学习三: 对FocusScope 的探究与总结
    FocusScope学习二: 很好的理解FocusScope的工作原理
    不同XML之间节点的拷贝
    计算几何DotVector
    计算几何Graham法凸包
    计算几何UVa10652
    线性筛三合一,强大O(n)
    计算几何AngRadVector
    线性筛euler,强大O(n)
    矩阵bzoj1898
  • 原文地址:https://www.cnblogs.com/assiduity/p/5947415.html
Copyright © 2020-2023  润新知