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实现2014火车票查询代码分享
Jan 10 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
详解Python验证码识别
Jan 25 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
python3 http提交json参数并获取返回值的方法
Dec 19 Python
将python文件打包成EXE应用程序的方法
May 22 Python
python GUI模拟实现计算器
Jun 22 Python
django form和field具体方法和属性说明
Jul 09 Python
Jupyter Notebook安装及使用方法解析
Nov 12 Python
python爬虫之selenium库的安装及使用教程
May 23 Python
Python&Matlab实现灰狼优化算法的示例代码
Mar 21 Python
Pandas实现批量拆分与合并Excel的示例代码
May 30 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
fleaphp crud操作之find函数的使用方法
2011/04/23 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
深入extjs与php参数交互的详解
2013/06/25 PHP
深入理解PHP+Mysql分布式事务与解决方案
2020/12/03 PHP
js实现运行代码需要刷新的解决方法
2007/08/18 Javascript
分享8款优秀的 jQuery 加载动画和进度条插件
2012/10/24 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
jquery如何根据值设置默认的选中项
2014/03/17 Javascript
js在IE与firefox的差异集锦
2014/11/11 Javascript
jQuery地图map悬停显示省市代码分享
2015/08/20 Javascript
使用jQuery制作Web页面遮罩层插件的实例教程
2016/05/26 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
通过JS获取Request.QueryString()参数的值实现方法
2016/09/27 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
jQuery读取XML文件的方法示例
2017/02/03 Javascript
jQuery+ajax实现局部刷新的两种方法
2017/06/08 jQuery
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
JavaScript实现开关等效果
2017/09/08 Javascript
nodejs中安装ghost出错的原因及解决方法
2017/10/23 NodeJs
快速解决vue-cli不能初始化webpack模板的问题
2018/03/20 Javascript
Python实现扫描指定目录下的子目录及文件的方法
2014/07/16 Python
Python2/3中urllib库的一些常见用法
2017/12/19 Python
python实现自动获取IP并发送到邮箱
2018/12/26 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
Python3.7实现验证码登录方式代码实例
2020/02/14 Python
使用python-cv2实现视频的分解与合成的示例代码
2020/10/26 Python
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类
2012/02/06 面试题
护士自荐信怎么写
2013/10/18 职场文书
医院节能减排方案
2014/06/13 职场文书
教师节座谈会主持词
2015/07/03 职场文书
青年干部培训班学习心得体会
2016/01/06 职场文书
聊一聊python常用的编程模块
2021/05/14 Python
Python实现8种常用抽样方法
2021/06/27 Python
如何利用 CSS Overview 面板重构优化你的网站
2021/10/24 HTML / CSS
使用Bandicam录制鼠标指针并附带点击声音,还可以添加点击动画效果
2022/04/11 数码科技
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js