Python中处理unchecked未捕获异常实例


Posted in Python onJanuary 17, 2015

Talk Is Cheap

和Java一样,python也提供了对于checked exception和unchecked exception. 对于checked exception,我们通常使用try except可以显示解决,对于unchecked 异常,其实也是提供回调或者是钩子来帮助我们处理的,我们可以在钩子里面记录崩溃栈追踪或者发送崩溃数据.

下面代码可以实现python unchecked exception回调,并输出日志信息.

Show Me The Code

#!/usr/bin/env python

# coding=utf-8

import os, sys

import logging

logger = logging.getLogger(__name__)

handler = logging.StreamHandler(stream=sys.stdout)

logger.addHandler(handler)
def handle_exception(exc_type, exc_value, exc_traceback):

    if issubclass(exc_type, KeyboardInterrupt):

        sys.__excepthook__(exc_type, exc_value, exc_traceback)

        return

    logger.error("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback))
sys.excepthook = handle_exception

if __name__ == "__main__":

    raise RuntimeError("Test unhandled Exception")

相关解释

1.上述忽略处理终端下键盘按Ctrl + C 终止异常.
2.上述使用python的日志管理模块输出格式化的异常信息.

Python 相关文章推荐
Python进程间通信之共享内存详解
Oct 30 Python
python爬虫正则表达式之处理换行符
Jun 08 Python
Python 给某个文件名添加时间戳的方法
Oct 16 Python
Python实现的大数据分析操作系统日志功能示例
Feb 11 Python
django认证系统 Authentication使用详解
Jul 22 Python
python requests使用socks5的例子
Jul 25 Python
Numpy 中的矩阵求逆实例
Aug 26 Python
详解Python self 参数
Aug 30 Python
Python多线程模块Threading用法示例小结
Nov 09 Python
详解python常用命令行选项与环境变量
Feb 20 Python
Python面向对象程序设计之私有变量,私有方法原理与用法分析
Mar 23 Python
python中如何使用虚拟环境
Oct 14 Python
Python实现过滤单个Android程序日志脚本分享
Jan 16 #Python
Python中的对象,方法,类,实例,函数用法分析
Jan 15 #Python
Python转换HTML到Text纯文本的方法
Jan 15 #Python
python中os操作文件及文件路径实例汇总
Jan 15 #Python
python私有属性和方法实例分析
Jan 15 #Python
python实现堆栈与队列的方法
Jan 15 #Python
python多线程用法实例详解
Jan 15 #Python
You might like
PHP中array_slice函数用法实例详解
2014/11/25 PHP
php修改文件上传限制方法汇总
2015/04/07 PHP
PHP缓冲区用法总结
2016/02/14 PHP
Symfony核心类概述
2016/03/17 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
php实现头像上传预览功能
2017/04/27 PHP
php防止表单重复提交实例讲解
2019/02/11 PHP
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
多个datatable共存造成多个表格的checkbox都被选中
2013/07/11 Javascript
PHP结合jQuery实现的评论顶、踩功能
2015/07/22 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
jQuery遍历节点树方法分析
2016/09/08 Javascript
原生JS实现九宫格抽奖效果
2017/04/01 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
vue移动端裁剪图片结合插件Cropper的使用实例代码
2017/07/10 Javascript
js实现一个简单的MVVM框架示例
2018/01/15 Javascript
vue利用axios来完成数据的交互
2018/03/23 Javascript
Vue.js结合bootstrap前端实现分页和排序效果
2018/12/29 Javascript
Node.js原生api搭建web服务器的方法步骤
2019/02/15 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
Python中unittest用法实例
2014/09/25 Python
Django自定义认证方式用法示例
2017/06/23 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python队列queue模块详解
2018/04/27 Python
Python使用Slider组件实现调整曲线参数功能示例
2019/09/06 Python
python实现超市管理系统(后台管理)
2019/10/25 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
matplotlib jupyter notebook 图像可视化 plt show操作
2020/04/24 Python
CSS3 @font-face属性使用指南
2014/12/12 HTML / CSS
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
欧洲著名的二手奢侈品网站:Vestiaire Collective
2020/03/07 全球购物
干部考核工作总结
2015/08/12 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
Django debug为True时,css加载失败的解决方案
2021/04/24 Python