中间件没有捕获异常

时间:2012-04-28 09:02:57

标签: python-2.7 django-1.3

我想使用中间件来处理所有项目中的一些特殊异常。但是,当引发异常并且我不理解这种行为的原因时,几乎从不调用中间件。

中间件类:

import logging
log = logging.getLogger(__name__)

class ExceptionMiddleware(object):
    def process_exception(self, request, exception):
        log.error("Сaught exception: %s"% exception)

我的中间件课程:

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
     # Exception middleware
    'middleware.ExceptionMiddleware',
 )

也许我找到了理由。特定类的实例是在全视图中创建的,因为在调用某个视图之前会引发全局值和异常。问题的另一部分,我如何捕捉这些例外?

0 个答案:

没有答案