Um formato de erro consistente
Pergunta
Como deve ser o corpo de uma resposta de erro de API pra ser útil ao cliente, e o que evitar?
Resposta esperada
Um formato único pra toda a API, com: um código de erro estável e legível por máquina (`"code": "saldo_insuficiente"`) que o cliente pode ramificar sem parsear texto; uma mensagem humana curta pra log/debug (não pra mostrar cru ao usuário final); e, quando aplicável, detalhes estruturados por campo (`"fields": { "email": "já cadastrado" }`) pra formulários. Opcionalmente um `traceId` pra correlacionar com os logs do servidor. Evitar: mensagens diferentes pro mesmo erro dependendo do endpoint; vazar stack trace ou SQL em produção; devolver só um texto livre sem código; e usar a mensagem humana como contrato (ela vai mudar). RFC 7807 (`application/problem+json`) é um ponto de partida pronto.
Por que perguntam isso
Pergunta pleno. Bom candidato separa 'código estável pra máquina' de 'mensagem que pode mudar', e cita não vazar internals. RFC 7807 é bônus.