美文网首页
python3.7异常小记

python3.7异常小记

作者: 草珊瑚_6557 | 来源:发表于2019-02-22 18:46 被阅读0次

    首先上示例代码:

    s1 = 'hello'
    try:
        int(s1)
    except IndexError as e:
        print('IndexError', e)
    except KeyError as e:
        print('KeyError', e)
    except ValueError as e:
        print('ValueError', e)
    except Exception as e:
        print('Exception', e)
    else:
        print('try内代码块没有异常则执行我')
    finally:
        print('无论异常与否,都会执行该模块,通常是进行资源释放工作')
    
    

    这段代码包含了,异常分支类型捕获无异常捕获有无异常都会捕获的执行逻辑。

    捕获全局异常

    对入口函数进行try...except

    异常写入日志文件

    示例代码:

    import os
    
    s1 = 'hello'
    try:  
        int(s1)
    except:  
        f=open(os.path.abspath('./log.txt'),'a')  
        traceback.print_exc(file=f)  
        f.flush()  
        f.close() 
    

    异常作用域

    try,except,else,finally代码块里声明的变量,外部都能访问。

    作用域的产生

    1,只有当变量在Module(模块)、Class(类)、def(函数)中定义的时候,才会有作用域的概念。
    2,在作用域中定义的变量,一般只在作用域中有效。
    3,在if-elif-else、for-else、while、try-except/try-finally等关键字的语句块中并不会产生作用域

    相关文章

      网友评论

          本文标题:python3.7异常小记

          本文链接:https://www.haomeiwen.com/subject/idqyyqtx.html