我是靠谱客的博主 魁梧电源,最近开发中收集的这篇文章主要介绍Python程序退出时执行指定代码,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 一:捕获所有的异常

二:采用traceback模块查看异常,需要导入traceback模块,这个方法会打印出异常代码的行号

三:调用atexit

import atexit
import signal
import traceback
import logging
logger = logging.getLogger(__name__)


# 如果程序被Python未处理的信号终止,或者出现内部错误,或者调用了os._exit(),则不会执行atexit处理程序。
@atexit.register
def exit_handler():
    logger.info("异常退出")
    # 采用traceback模块查看异常,这个方法会打印出异常代码的行号
    exc_type, exc_value, exc_tb = sys.exc_info()
    logger.info(str(traceback.format_exception(exc_type, exc_value, exc_tb)))


def sig_handler(signum, frame):
    logger.info('catched singal: %d' % signum)
    sys.exit(0)


if __name__ == '__main__':
    try:
        signal.signal(signal.SIGTERM, sig_handler)  # kill pid
        signal.signal(signal.SIGINT, sig_handler)  # ctrl -c
        # 内部代码
        
    except Exception as err:
        # 输出异常类<class 'Exception'>
        logger.info(str(err))

最后

以上就是魁梧电源为你收集整理的Python程序退出时执行指定代码的全部内容,希望文章能够帮你解决Python程序退出时执行指定代码所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部