Как middleware в FastAPI может обрабатывать ошибки, возникающие в процессе обработки запроса? Как это влияет на дальнейшую обработку запроса и ответа?