zoukankan      html  css  js  c++  java
  • python 异常处理

    处理流程

    try:
        1/0
    except (ZeroDivisionError,NameError) as e:
        print("这里给出可能的出错信息",e)
    else:
        print("如果try成功,执持这里")
    finally:
        print("最后执行的内容,不管是否出现异常,都会执行的语句")
    
    try:
        1/2
    except (ZeroDivisionError,NameError) as e:
        print("xxx",e)
    else:
        print("如果try成功,执持这里")
    finally:
        print("最后执行的内容,不管是否出现异常,都会执行的语句")
    
    try:
        1/0
    except Exception as e:
        print("这果给出详细的出错信息",e)
    else:
        print("如果try成功,执持这里")
    finally:
        print("最后执行的内容,不管是否出现异常,都会执行的语句")

    这里给出可能的出错信息 division by zero
    最后执行的内容,不管是否出现异常,都会执行的语句
    如果try成功,执持这里
    最后执行的内容,不管是否出现异常,都会执行的语句
    这果给出详细的出错信息 division by zero
    最后执行的内容,不管是否出现异常,都会执行的语句

    import traceback
    class Test:
         def __enter__(self):
             print("enter")
             return self
         def __exit__(self, exc_type, exc_val, exc_tb):
             print(self,exc_type, exc_val, exc_tb)
             print(traceback.extract_tb(exc_tb))
             print("exit")
             return  True
    
    with Test() as x:
        1/0

    enter
    <__main__.Test object at 0x000001A532943CC8> <class 'ZeroDivisionError'> division by zero <traceback object at 0x000001A532943E08>
    [<FrameSummary file D:/Users/Error/Error2.py, line 13 in <module>>]
    exit

    import contextlib
    
    @contextlib.contextmanager
    def test2():
        try:
            yield
        except ZeroDivisionError as e:
            print("这里是错误信息",e)
    
    with test2() as w:
        1/0

    这里是错误信息 division by zero

    每天进步一点点,多思考,多总结 版权声明:本文为CNblog博主「zaituzhong」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
  • 相关阅读:
    jemeter代理设置
    iphone代码签名相关
    iphone 程序部署和发布链接
    iphone 代码片段2
    iphone给tabbar添加数字
    我的开源目录(持续更新中):
    WPF笔记(1.2 Navigation导航)——Hello,WPF!
    WPF笔记(0)
    棋牌游戏大厅简介
    WPF笔记(1.3 属性元素)——Hello,WPF!
  • 原文地址:https://www.cnblogs.com/tingxin/p/12163801.html
Copyright © 2011-2022 走看看