首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当发生错误时,如何防止控制台脚本关闭自身?

当发生错误时,如何防止控制台脚本关闭自身?
EN

Stack Overflow用户
提问于 2022-07-02 15:07:45
回答 1查看 54关注 0票数 0

我制作了一个python程序,我使用.exe将其打包到auto-py-to-exe中,如果出现错误,程序将显示错误并立即关闭,因此无法读取错误。

我不想说:

代码语言:javascript
复制
try:
   #code
except:
   #print something

我希望它打印出原来的python错误,并使它不立即关闭。

EN

回答 1

Stack Overflow用户

发布于 2022-07-02 15:42:21

有多种方法可以做到这一点。

使用回溯模块

使用exc的示例

代码语言:javascript
复制
import traceback

def hello():
 return 1/0

def my_program():
 try:
   hello()
 except Exception as _: # try to avoid generic exception handlers
   traceback.print_exc()

if __name__ == "__main__":
 my_program()

使用日志记录模块

在许多情况下,使用日志模块可能很有用,例如,可以使用一些CLI标志或env变量启用更详细的日志记录。您还可以将所有日志转储到稍后可以解析的文件中。

简单测井实例

代码语言:javascript
复制
import logging

def cfg():
    fmt = "%(levelname)s %(asctime)s - %(message)s"
    logging.basicConfig(filename="my_program.log", filemode="w", format=fmt, level=logging.ERROR)


def hello():
    return 22/0

def my_program():
    try:
        hello()
    except Exception as _:
        logging.exception("an internal error happened!")

if __name__ == "__main__":
    cfg()
    my_program()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72840128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档