python异常的捕获和关键字with

python异常捕获语法

try:
    # 写你的代码 ...
    pass;
except Exception as err:
    # 报错了之后捕获,进行异常处理
    print(err);
else:
    # 程序没报错,进行其他处理
    pass;
finally:
    # 上面的全进行玩了之后进行其他处理
    pass;

raise关键字,手动抛出异常

try:
    # 手动抛出异常
    raise Exception("奥利给");
except Exception as err:
    # 报错了之后捕获,进行异常处理
    print(err);
else:
    # 程序没报错,进行其他处理
    pass;
finally:
    # 上面的全进行玩了之后进行其他处理
    pass;
try:
    # 手动抛出异常
    raise Exception("奥利给");
except Exception as err:
    # 报错了之后捕获,进行异常处理
    print(err);
    # 将异常继续抛出 如果不想追加到系统变量__cause__中,吧下面的err改为None即可
    raise Exception from err;
else:
    # 程序没报错,进行其他处理
    pass;
finally:
    # 上面的全进行玩了之后进行其他处理
    pass;

with关键字 python的骚操作

'''
上下文开启   def __enter__(self)
上下文关闭   def __exit__(self,exc_type,exc_val,exc_tb)
'''
class Message:

    class _Connect:
        def build(self):
            print("Connect 建立消息发送通道");
            return True;
        def close(self):
            print("Connect 关闭消息发送通道");

    def __enter__(self):
        print("with 语句开始执行");
        self.__conn = Message._Connect();
        if not self.__conn.build():
            print("建立通道失败");
        return self;

    def __exit__(self, exc_type, exc_val, exc_tb):
        print("with 语句执行完毕");
        self.__conn.close();

    def send(self,msg):
        print("发送的消息为:{}".format(msg));

def main():
    with Message() as message:
        message.send("1");
        message.send("2");
        message.send("3");

if __name__ == '__main__':
    main();

python自定义异常,自行百度;

gou领导一直催我前几天的开发任务完成没,写完了就告诉他没写完,一个劲催催催,gdx,每天划水学python,多美好;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值