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 相关文章推荐
Ruby元编程基础学习笔记整理
Jul 02 Python
Python编程使用*解包和itertools.product()求笛卡尔积的方法
Dec 18 Python
python利用OpenCV2实现人脸检测
Apr 16 Python
python编写Logistic逻辑回归
Dec 30 Python
python实现手机通讯录搜索功能
Feb 22 Python
python基于paramiko将文件上传到服务器代码实现
Jul 08 Python
对Python中小整数对象池和大整数对象池的使用详解
Jul 09 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
Python高级编程之继承问题详解(super与mro)
Nov 19 Python
python+selenium+Chrome options参数的使用
Mar 18 Python
python Yaml、Json、Dict之间的转化
Oct 19 Python
浅谈tf.train.Saver()与tf.train.import_meta_graph的要点
May 26 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下关于中英数字混排的字符串分割问题
2010/04/06 PHP
php实现文件下载更能介绍
2012/11/23 PHP
分享下PHP register_globals 值为on与off的理解
2013/09/26 PHP
php+ajax实现图片文件上传功能实例
2014/06/17 PHP
php三元运算符知识汇总
2015/07/02 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
jquery下onpropertychange事件的绑定方法
2010/08/01 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
2014/03/18 Javascript
Vue动态控制input的disabled属性的方法
2018/06/26 Javascript
VUE-cli3使用 svg-sprite-loader
2018/10/20 Javascript
js数组的基本使用总结
2021/01/18 Javascript
[01:15:56]2018DOTA2亚洲邀请赛3月30日 小组赛A组 TNC VS Newbee
2018/03/31 DOTA
[50:44]DOTA2-DPC中国联赛 正赛 SAG vs Dragon BO3 第二场 2月22日
2021/03/11 DOTA
python通过exifread模块获得图片exif信息的方法
2015/03/16 Python
python 实现红包随机生成算法的简单实例
2017/01/04 Python
搞清楚 Python traceback的具体使用方法
2019/05/13 Python
Django框架首页和登录页分离操作示例
2019/05/28 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
python搜索包的路径的实现方法
2019/07/19 Python
使用tensorflow显示pb模型的所有网络结点方式
2020/01/23 Python
用CSS3和table标签实现一个圆形轨迹的动画的示例代码
2019/01/17 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
2018/08/24 HTML / CSS
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
美国汽车交易网站:Edmunds
2016/08/17 全球购物
DogBuddy荷兰:找到你最完美的狗保姆
2019/04/17 全球购物
英国奢华护肤、美容和Spa品牌:Temple Spa
2019/11/02 全球购物
公司财务工作总结的自我评价
2013/11/23 职场文书
大学活动策划书范文
2014/01/10 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
护理专科毕业生自荐书范文
2014/02/19 职场文书
继承公证书
2014/04/09 职场文书
品牌服务方案
2014/06/03 职场文书
毕业论文答辩演讲稿
2015/06/23 职场文书
四年级数学教学反思
2016/02/16 职场文书
详解Python requests模块
2021/06/21 Python
oracle索引总结
2021/09/25 Oracle