Em complementação ao tratamento de todas as possíveis excessões, é altamente recomendado dar um feedback para o desenvolvedor do resultado final da requisição:
2xx (Sucesso);
4xx (Erro do lado do cliente);
5xx (Erro no servidor);
Dentre outros.
Em conjunto com o código de status HTTP é essencial compor o retorno de uma situação de erro com um corpo em formato JSON pré-definido e uma mensagem descrevendo precisamente a causa da exceção.
#RUIM
{
"error": "Um erro ocorreu",
"message": "Um erro ocorreu"
}
#BOM
{
"error": "Nao encontrado",
"message": "O produto com ID 217 não foi encontrado"
}