发生的情况是,如果您的代码引发运行时异常并且您的完成不起作用,您不知道为什么,因为没有打印回溯。试试这个非常短的代码,看看我的意思:程序应该在 c = 2+"ddda" 行崩溃,显然你正在添加一个字符串和一个 int,这根本行不通。但是不是崩溃,而是捕获了异常,您不知道发生了什么。程序继续运行,就好像什么都没发生一样。
import cmd
class App(cmd.Cmd):
def complete_foo(self,*arg):
# Uncommenting this line will silently crash the progrm
# making it hard to debug.
# Is there a way to force the program to crash ?
c = 2 + "ddda"
return "d dzpo idz dza dpaoi".split(" ")
def do_foo(self,*args):
print "foo"
App().cmdloop()
我的问题是:出现错误时如何显示错误?(使用 cmd 模块时)。