Implementing practical real-world exception handlers
Exception handling is not a new concept at this point. We explored the topic in the Implementing proper exception handling section in Chapter 6, Operating Outside the Response Handler. I emphasized the importance of creating our own set of exceptions that include default status messages and response codes. This useful pattern was meant to get you up and running very quickly to be able to send useful messages to your users.
For example, imagine we are building an application for travel agents to book airline tickets for customers. You can imagine one of the steps of the operation might be to assist in matching flights through connecting airports.
Well, what if the customer selected two flights where the time between the flights was too short? You might do something like this:
from sanic.exceptions import SanicException class InsufficientConnection(SanicException): status_code = 400 ...