Se eu quiser printar uma mensagem personalizada como: "Não foi possível encontrar o médico de ID 9999" eu teria que capturar essa exceção no meu Controller ou Service?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Se eu quiser printar uma mensagem personalizada como: "Não foi possível encontrar o médico de ID 9999" eu teria que capturar essa exceção no meu Controller ou Service?
Olá Michael!
Se você deseja imprimir uma mensagem personalizada como "Não foi possível encontrar o médico de ID 9999", é necessário capturar a exceção no seu Controller ou Service. A partir daí, você pode criar uma mensagem personalizada e retorná-la para o usuário.
Por exemplo, pode usar a anotação @ExceptionHandler para capturar a exceção e retornar uma mensagem personalizada. Algo assim:
@ExceptionHandler(NotFoundException.class)
@ResponseStatus(HttpStatus.NOT_FOUND)
public String handleNotFoundException(NotFoundException ex) {
return ex.getMessage();
}Nesse exemplo, a classe NotFoundException é a exceção que é lançada quando o médico com o ID especificado não é encontrado. A anotação @ExceptionHandler informa ao Spring que esse método deve ser chamado quando essa exceção é lançada. A anotação @ResponseStatus define o código de status HTTP que deve ser retornado para o usuário (neste caso, 404 - Not Found). E o método simplesmente retorna a mensagem de erro definida na exceção.
Espero ter ajudado e bons estudos!