如果找到主键,则此代码打印'a''b''e'。如果不是,则仅打印“a”。是什么导致异常被吞噬?
def foo(request, e_pk):
try:
pprint('a')
facet = models.EntryFacet.objects.get(pk=e_pk)
pprint('b')
except models.EntryFacet.DoesNotExist:
pprint('c ' + sys.exc_info()[0])
except ObjectDoesNotExist:
pprint('d ' + sys.exc_info()[0])
pprint('e')
return render_to_response(...)
环境:django 1.3,Linux。 settings.py有DEBUG = True TEMPLATE_DEBUG = DEBUG
答案 0 :(得分:1)
当你尝试
时print('c ' + sys.exc_info()[0])
它引发TypeError:无法连接'str'和'type'对象 所以你应该使用:
print('c %s' % sys.exc_info()[0])