I would like to catch 500 exception and return a http 4XX exception instead. Using "except Exception" will catch all exceptions which is not desired. I was wondering is there a way to catch only 500 errors
try:
<code>
except <Exception class>:
return http 404 reponse
I searched a lot but couldn't figure out how to do the same. Thanks in advance
I'm not sure that returning 404 instead of 500 is a good idea, but you can acheive this by defining a custom error handler for 500 errors.
In your urls.py:
handler500 = 'mysite.views.my_custom_error_view'
In your views.py:
from django.http import HttpResponse
def my_custom_error_view(request):
"""
Return a 404 response instead of 500.
"""
return HttpResponse("error message", status_code=404)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.