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高级应用实例对比:高效计算大文件中的最长行的长度
Jun 08 Python
Python入门及进阶笔记 Python 内置函数小结
Aug 09 Python
在Python中操作时间之strptime()方法的使用
Dec 30 Python
使用python3实现操作串口详解
Jan 01 Python
python实现共轭梯度法
Jul 03 Python
python之拟合的实现
Jul 19 Python
使用python去除图片白色像素的实例
Dec 12 Python
使用jupyter notebook将文件保存为Markdown,HTML等文件格式
Apr 14 Python
jupyternotebook 撤销删除的操作方式
Apr 17 Python
Django CBV模型源码运行流程详解
Aug 17 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
python自动从arxiv下载paper的示例代码
Dec 05 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实现把数字ID转字母ID
2013/08/12 PHP
PHP判断是否连接上网络的方法
2015/07/01 PHP
php打包压缩文件之ZipArchive方法用法分析
2016/04/30 PHP
php设计模式之单例模式代码
2016/06/11 PHP
PHP实现求连续子数组最大和问题2种解决方法
2017/12/26 PHP
使用PHPUnit进行单元测试并生成代码覆盖率报告的方法
2019/03/08 PHP
使用PHPWord生成word文档的方法详解
2019/06/06 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
jQuery Ajax之$.get()方法和$.post()方法
2009/10/12 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
通过隐藏iframe实现文件下载的js方法介绍
2014/02/26 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
jQuery实现的向下图文信息滚动效果
2015/05/03 Javascript
JavaScript模块化开发之SeaJS
2015/12/13 Javascript
JavaScript中清空数组的方法总结
2016/12/02 Javascript
微信小程序 页面跳转和数据传递实例详解
2017/01/19 Javascript
微信小程序 标签传入数据
2017/05/08 Javascript
解决JQuery的ajax函数执行失败alert函数弹框一闪而过问题
2019/04/10 jQuery
Element Collapse 折叠面板的使用方法
2020/07/26 Javascript
Swiper实现导航栏滚动效果
2020/10/16 Javascript
python3使用PyMysql连接mysql数据库实例
2017/02/07 Python
python实现画圆功能
2018/01/25 Python
python 对dataframe下面的值进行大规模赋值方法
2018/06/09 Python
Python元组常见操作示例
2019/02/19 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
Node.js 和 Python之间该选择哪个?
2020/08/05 Python
Python爬虫之App爬虫视频下载的实现
2020/12/08 Python
CSS3 仿微信聊天小气泡实例代码
2017/04/05 HTML / CSS
详解如何在css3打包后自动追加前缀插件:autoprefixer
2018/12/18 HTML / CSS
Perfume’s Club德国官网:在线购买香水
2019/04/08 全球购物
美国在线购买空气净化器、除湿器、加湿器网站:AllergyBuyersClub
2021/03/16 全球购物
大学生优秀团员事迹材料
2014/01/30 职场文书
岗位职责怎么写
2014/03/14 职场文书
工程资料员岗位职责
2015/04/13 职场文书
Python爬虫进阶之Beautiful Soup库详解
2021/04/29 Python
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技