RB
if что то плохое:
raise HttpException(status_code=404, details="file not found")
То есть ты в каждом месте где генеришь эксепшен должен передать и код и сообщение и это всё разбросано по тысячам местам бизнеслогики.
А например когда ты пишешь клиента к своему вебсерверу, хочется заранее знать все возможные эксепшены котоыре бэк может кинуть и их структуру (ведь во многих ошибках возвращается еще какие то детали: какой параметр не верный, какой файл не найден, запрос сделан из не поддерживаемой страны (вернется и текущая страна клиента и список разрешенных стран) и т.д.)