Django - catch exception
django, exception, python
Solution
You have three options here.
- Provide a 404 handler or 500 handler
- Catch the exception elsewhere in your code and do appropriate redirection
- Provide custom middleware with the `process_exception` implemented
Middleware Example:
class MyExceptionMiddleware(object):
def process_exception(self, request, exception):
if not isinstance(exception, SomeExceptionType):
return None
return HttpResponse('some message')
Problem
Looking at this code: ``` try: ... # do something except: raise Exception('XYZ has gone wrong...') ``` Even with `DEBUG=True`, I don't want this `raise Exception` to give that yellow page, but it does. I want to handle the exception by redirecting users to an error page or shows the error (give a CSS error message on the top of the page...) How do I handle that? If I simply raise it, I will get yellow debug page (again, I don't want certain exceptions to stop the site from functioning by showing the debug page when DEBUG=True). How do I handle these exceptions in views.py?