当前位置:  开发笔记 > 编程语言 > 正文

python的通用catch

如何解决《python的通用catch》经验,为你挑选了1个好方法。

我有一些非常奇怪的行为,似乎导致了无声的异常.如何编写一般的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失败了.



1> nosklo..:

在程序终止之前,默认情况下已经打印了例外.如果你想在其他地方发送错误(不打印它),你可以这样做:

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:


不知道"异常为e"的变化."Exception,e"总是让我感到烦恼,很高兴看到它得到了清理.
'as'关键字用于python> = 2.6
推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有