如何打印从外部抛出的exec()函数内部抛出的python异常

问题描述 投票:1回答:2

我正在编写一个用于执行python代码的小软件,我想打印异常。执行以下函数:

def run(self, mode='activate'):
    try:
        exec(self.mycode)
    except Exception:
        print(traceback.format_exc())

没有关于将在exec()函数中确切执行什么的信息,它实际上可以是任何python代码。我想以某种方式打印抛出的异常(由于代码错误,它会自动由python自动显示),如图所示,同时通过exec()执行,包括传递到已抛出异常的exec()函数中的代码行。到目前为止,我只设法获得了'exec(mycode)'作为异常代码输出,但是我想要在mycode中崩溃的实际代码行。

我正在编写一个用于执行python代码的小软件,我想打印异常。执行以下函数:def run(self,mode ='activate'):try:exec(self.mycode)...

python exception exec traceback
2个回答
1
投票

尝试一下:


0
投票

添加此行traceback.print_exc()

© www.soinside.com 2019 - 2024. All rights reserved.