python3.7异常小记

首先上示例代码:

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等关键字的语句块中并不会产生作用域

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简介 Python最强大的结构之一就是它的异常处理能力,所有的标准异常都使用类来实现,都是基类Exceptio...
    随风化作雨阅读 8,193评论 0 1
  • 程序员的一生中,错误几乎每天都在发生。在过去的一个时期, 错误要么对程序(可能还有机器)是致命的,要么产生一大堆无...
    妄心xyx阅读 9,170评论 0 23
  • 一、错误和异常 1.概念 两种容易辨认的错误​ 语法错误:一些关于语法的错误【缩进】​ 异常:代码完全正确,但是,...
    hollow_02f9阅读 4,952评论 0 0
  • python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误。你可以使用该功能来调试pyth...
    _宁采臣阅读 4,633评论 0 10
  • 你们知道我为什么这么高兴吗?因为我现在在吃火锅。如果想听,就听我慢慢道来。 今天中午,我听到姐姐要回来了,我就像脱...
    汪星球宏伟的宇宙阅读 1,895评论 0 0

友情链接更多精彩内容