我有一些非常奇怪的行为,似乎导致了无声的异常.如何编写一般的try catch,我可以调试所有异常.有点像:
try: # something that fails except e: print e
更多关于手头问题的详细信息:
我有一个Django应用程序,在我的comp(Ubuntu Linux 8.10)上通过runserver和mod-python工作正常.在部署服务器(Ubunut Linux 8.10)上,它可以通过runserver正常工作,但是在mod-python中通过apache失败了.
我已经将原因缩减为使用Berkeley DB(bsddb.db)和辅助密钥的应用程序的一部分.辅助键的回调方法使用pickle来格式化键.当我在单个值上调用pickle时失败.但是,它只在我使用cPickle时失败,并且在回调函数之外的相同值上使用pickle也有效.
我只是想知道它为什么用cPickle失败了.
在程序终止之前,默认情况下已经打印了例外.如果你想在其他地方发送错误(不打印它),你可以这样做:
try: something() except Exception as e: send_somewhere(traceback.format_exception(*sys.exc_info())) raise # reraises the exception
请注意,使用as
关键字的格式为python> 2.6.旧的方式是:
except Exception, e: