Is there a way to catch 500 errors in django python?
Question: 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


Answer: 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](https://docs.djangoproject.com/en/1.8/topics/http/views/#customizing-
error-views) 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)
    

