zoukankan      html  css  js  c++  java
  • 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组了,不用担心关闭打开的文件了。

  • 相关阅读:
    avcodec_decode_video2少帧问题
    什么是I帧,P帧,B帧
    让Ubuntu可以压缩/解压缩RAR文件
    Linux 向文件末尾追加命令
    valgrind: failed to start tool 'memcheck' for platform 'amd64-linux': No such file or directory
    《王者之剑2》性能数据精讲
    Unity加载模块深度解析(纹理篇)
    Unity加载模块深度解析(Shader)
    Unity加载模块深度解析(网格篇)
    Unity将来时:IL2CPP是什么?
  • 原文地址:https://www.cnblogs.com/assiduity/p/5947415.html
Copyright © 2011-2022 走看看