Python 使用wx.pyshell捕获异常

Python 使用wx.pyshell捕获异常,python,wxpython,Python,Wxpython,我有一个用Python编写的应用程序,它使用wxpython作为GUI。应用程序中嵌入了一个。我在它旁边有一个编辑器,在那里可以编写python代码,并在shell中执行。与此相关,由于缺乏文档和示例,我有两个问题: 1) 要执行编辑器中编写的代码(即可以是带有for循环的多行代码e.t.c.),我应该使用run还是execute?我现在使用的是Execute,因为它似乎“一次”而不是“一行一行地”执行所有代码,但我对此不确定 2) 如果发生错误(包括语法错误),我如何捕获该错误?我试图在调用s

我有一个用Python编写的应用程序,它使用wxpython作为GUI。应用程序中嵌入了一个。我在它旁边有一个编辑器,在那里可以编写python代码,并在shell中执行。与此相关,由于缺乏文档和示例,我有两个问题:

1) 要执行编辑器中编写的代码(即可以是带有for循环的多行代码e.t.c.),我应该使用
run
还是
execute
?我现在使用的是
Execute
,因为它似乎“一次”而不是“一行一行地”执行所有代码,但我对此不确定

2) 如果发生错误(包括语法错误),我如何捕获该错误?我试图在调用
shell.Execute()
时加入try/except,但我没有捕获到异常(它正在打印到shell中)。似乎没有从
shell返回任何内容。也可以执行
。如果可能的话,我更喜欢一个不需要预先解析代码的解决方案。如果你不能做到这一点,我想预解析代码是唯一的选择