Python使用lambda抛出异常实现方法解析


Posted in Python onAugust 20, 2020

假设我们需要一个函数什么事都不干,只是抛出异常(在某些系统中有些handler就是干这事的),我们可以很直观的写出下面的代码:

def func():
raise Exception("this is a exception")

就这么一个简单的功能,我们更希望用lambda实现,自然就写下了下面的代码:

lambda :raise Exception("this is a exception")

但遗憾的是这样是不行的~~~会出现SyntaxError: invalid syntax的错误。具体原因可以看Python Lambda

下面搜集实践了几种可用的奇技淫巧:

方法一

func = lambda: (_ for _ in ()).throw(Exception('this is an exception'))

方法二

如果不在乎异常信息是什么:

func = lambda: 1/0

不难理解,这个函数会抛出ZeroDivisionError。这种方法其实代表了一类,比如也可以写成:

func = lambda : [][0]

这类实现就是在lambda后面写一定会抛出异常的表达式

方法三

一种非常阴霸的方式,只适合python3.x

func = lambda : exec('raise(Exception("this is an exception"))')

方法四:

尚未看懂的

# python2.x
type(lambda:0)(type((lambda:0).func_code)(
1,1,1,67,'|\0\0\202\1\0',(),(),('x',),'','',1,''),{}
)(Exception())

# python3.x
type(lambda: 0)(type((lambda: 0).__code__)(
1,0,1,1,67,b'|\0\202\1\0',(),(),('x',),'','',1,b''),{}
)(Exception())

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中zip()方法应用实例分析
Apr 16 Python
Python numpy 提取矩阵的某一行或某一列的实例
Apr 03 Python
关于Tensorflow中的tf.train.batch函数的使用
Apr 24 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
python调用c++传递数组的实例
Feb 13 Python
详解python3 + Scrapy爬虫学习之创建项目
Apr 12 Python
pytorch 归一化与反归一化实例
Dec 31 Python
解决django接口无法通过ip进行访问的问题
Mar 27 Python
Python requests模块cookie实例解析
Apr 14 Python
PyCharm MySQL可视化Database配置过程图解
Jun 09 Python
使用Python封装excel操作指南
Jan 29 Python
python+pytest接口自动化之token关联登录的实现
Apr 06 Python
浅谈对python中if、elif、else的误解
Aug 20 #Python
ubuntu16.04升级Python3.5到Python3.7的方法步骤
Aug 20 #Python
Python自动化测试中yaml文件读取操作
Aug 20 #Python
通过代码实例解析Pytest运行流程
Aug 20 #Python
Python爬虫实现自动登录、签到功能的代码
Aug 20 #Python
python openCV实现摄像头获取人脸图片
Aug 20 #Python
Python实现自动签到脚本功能
Aug 20 #Python
You might like
全国FM电台频率大全 - 2 天津市
2020/03/11 无线电
PHP 选项及相关信息函数库
2006/12/04 PHP
将文件夹压缩成zip文件的php代码
2009/12/14 PHP
php下通过curl抓取yahoo boss 搜索结果的实现代码
2011/06/10 PHP
Thinkphp无限级分类代码
2015/11/11 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
2016/07/21 PHP
Yii2简单实现多语言配置的方法
2016/07/23 PHP
javascript得到XML某节点的子节点个数的脚本
2008/10/11 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
document.write()及其输出内容的样式、位置控制
2013/08/12 Javascript
JavaScript实现url地址自动检测并添加URL链接示例代码
2013/11/12 Javascript
基于javascript实现页面加载loading效果
2020/09/15 Javascript
实现React单页应用的方法详解
2016/08/02 Javascript
vue2.0+webpack环境的构造过程
2016/11/08 Javascript
微信小程序 聊天室简单实现
2017/04/19 Javascript
关于webpack2和模块打包的新手指南(小结)
2017/08/07 Javascript
详解VUE-地区选择器(V-Distpicker)组件使用心得
2018/05/07 Javascript
40行代码把Vue3的响应式集成进React做状态管理
2020/05/20 Javascript
layui实现显示数据表格、搜索和修改功能示例
2020/06/03 Javascript
JavaScript中作用域链的概念及用途讲解
2020/08/06 Javascript
Javascript文本框脚本实现方法解析
2020/10/30 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
Vuex实现简单购物车
2021/01/10 Vue.js
在Python的Flask框架中实现全文搜索功能
2015/04/20 Python
Python中用altzone()方法处理时区的教程
2015/05/22 Python
浅析PyTorch中nn.Module的使用
2019/08/18 Python
Tensorflow: 从checkpoint文件中读取tensor方式
2020/02/10 Python
Python3 集合set入门基础
2020/02/10 Python
animation和transition的区别
2020/10/12 HTML / CSS
使用html2canvas实现将html内容写入到canvas中生成图片
2020/01/03 HTML / CSS
学生喝酒检讨书
2014/02/06 职场文书
副处级干部考察材料
2014/05/17 职场文书
常务副县长“四风”个人对照检查材料思想汇报
2014/10/02 职场文书
母亲节寄语大全
2015/02/27 职场文书
停电调休通知
2015/04/16 职场文书