Python 装饰器捕捉异常
背景
需要频繁使用python 对mssql 进程insert into 语句,在此过程中有很多的错误产生(如字段长度不够,一些奇怪字符等),调试起来很不方便,因此写了个装饰器,进行异常捕捉,并将产生错误的插入信息打印出来,这样就能够很直观地发现错在什么地方。
方法
装饰器代码:
def sql_capture(fun):def add_cap(*args, **kwargs):try:fun(*args, **kwargs)except:print('Error execute: %s' % fun.__name__)print(kwargs)print(traceback.format_exc())sys.exit()return add_cap
装饰器的使用:
def basic_info(cur):user = 'zhangsan'job = '程序员'data = (user_edu, job_type)@sql_capturedef basic_info_to_sql(data): #只在这个函数中用,因此定义在此函数中cur.execute("INSERT INTO [dbo].[id_card]([user], [job])values(%s,%s)", data)basic_info_to_sql(data=data) # 调用
Python 装饰器捕捉异常相关推荐
- python 装饰器实践,实现定时函数和失败异常重复调用
python 装饰器实践,实现定时函数和失败异常重复调用 执行请求或函数,出现异常情况下指定重复执行次数 可以作为一个包调用 方法 get()和post 做请求,execcunt = 指定请求失败再次 ...
- Python笔记_23_正则相关函数_类中的方法_装饰器_异常
文章目录 正则相关函数 search 和 match split 切割 sub 替换 finditer 匹配字符串中相应内容,返回迭代器 compile 指定一个统一的匹配规则 正则表达式的修饰符 类 ...
- python装饰器,迭代,异常
python装饰器,迭代,异常 装饰器的联系 DEL = 8 READ = 4 WRITE = 2 EXE = 1 userpermission = 9def check(x, y):print(&q ...
- Python 装饰器 函数
Python装饰器学习(九步入门):http://www.cnblogs.com/rhcad/archive/2011/12/21/2295507.html 浅谈Python装饰器:https://b ...
- 深入浅出 Python 装饰器:16 步轻松搞定 Python 装饰器
2019独角兽企业重金招聘Python工程师标准>>> Python的装饰器的英文名叫Decorator,当你看到这个英文名的时候,你可能会把其跟Design Pattern里的De ...
- python装饰器类-Python 装饰器装饰类中的方法
title: Python 装饰器装饰类中的方法 comments: true date: 2017-04-17 20:44:31 tags: ['Python', 'Decorate'] categ ...
- python装饰器实例-基于Python 装饰器装饰类中的方法实例
title: Python 装饰器装饰类中的方法 comments: true date: 2017-04-17 20:44:31 tags: ['Python', 'Decorate'] categ ...
- python装饰器原理-python 中的装饰器及其原理
装饰器模式 此前的文章中我们介绍过装饰器模式: 装饰器模式中具体的 Decorator 实现类通过将对组建的请求转发给被装饰的对象,并在转发前后执行一些额外的动作来修改原有的部分行为,实现增强 Com ...
- python类装饰器详解-Python 装饰器详解
开放封闭原则: 开放对扩展 封闭修改源代码 改变了人家调用方式 装饰器结构 """ 默认结构为三层!!!每层返回下一层内存地址就可以进行执行函数, 传参:语法糖中的传参可 ...
最新文章
- 单步调试_keil for arm 调试时无法单步运行及打断点
- 跨网页的新手引导_IOS中新手引导页面的实现(新手引导,Guide)
- 我的2013-从GIS学生到GIS职业人的飞跃
- 谭浩强课后题(数组篇)
- Spring Boot 动态数据源(Spring 注解数据源)
- 金算盘高手论坛资料中心_3D006期 菜鸟论坛精英PK专栏 速来围观!!
- 键盘出现与消失的监听方法
- Java中类方法的快速入门
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列
- uvalive 3938 Ray, Pass me the dishes! 线段树 区间合并
- java android 读写西门子PLC数据,包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC...
- java实现简单QQ登录界面
- 基于Pandas的股票数据分析
- Minecraft一些红石技巧(1)
- Centos7 kvm环境制作qcow2 格式镜像
- 笔记:模电-1.2二极管
- 记录一些面试相关的刁难题
- 自适应波束形成(三)——频域宽带LCMV波束形成器
- NOI-1.5(18) 鸡尾酒疗法
- 数学物理方程 第二章 线性偏微分方程的通解