我实际上说的是,django(如信号)中有什么东西在错误期间被激活并打印出msg。在我的情况下,它是一个ajax请求,所以我想要的是,当一些东西不在try块内,并且仍然如果它引发错误,那么它应该至少发送一个错误消息(到另一个服务器调用我们的ajax)服务器)说“发生错误”。
答案 0 :(得分:0)
据我所知,没有办法全局覆盖Python中的默认异常处理。您可以使用try
/ except
块来捕获错误,执行一些代码,然后重新引发异常。
将您的代码放在try
块中,然后在except
块中打印您的消息,然后调用raise
重新引发捕获的异常。
例如:
try:
raise Exception("This is an exception")
except Exception:
print ("Exception raised, notify server")
#re-raise exception
raise
这将打印如下内容:
Exception raised, notify server
Traceback (most recent call last):
File "[file]", line [line], in [module]
Exception: This is an exception
答案 1 :(得分:0)
在Django中,如果发生错误,它实际上并不会自动传播给用户。相反,如果发生错误,则返回500错误页面。如果Django处于调试模式,它将给出回溯。如果另一台服务器是智能的,它将意识到有500条错误消息而不是200条消息。在Django中,您可以在根目录中定义“500.html”来处理错误(或使用默认的Django模板)。 GLHF