Tenho o seguinte código abaixo:
try {
...
requisição REST
...
} catch (Exception ex) {
logger.error("Erro ao consumir API do Jira.", ex.getMessage());
}
Como vocês podem ver, estou usando a exceção mais genérica (Exception). Existe uma exceção mais específica para erro com requisição REST?
Tipo assim, para erros com conversão de String para algum formato númerico, usamos NumberFormatException. E no caso de algum erro com requisição REST? Qual exceção mais específica eu poderia utilizar?
Não existe apenas um erro com requisição REST, várias coisas podem acontecer de errado, várias exceções diferentes podem ser lançadas.
Se a função da sua API incluir converter uma String pra um formato númerico, ela não vai lançar um ErroNaApiException, ela vai lançar um NumberFormatException normalmente a menos que vc explicitamente a contrua para pegar todas as exceções e relançar tudo como um tipo único de exceção.
Pra vc ter uma ideia, se estiver usando banco de dados com Spring e vc realizar alguma ação que der conflito, ela vai lançar um DataIntegrityViolationException. E se falhar ao tentar validar algum dado usando a API de validação, ele vai lançar um ConstraintViolationException.
Nao suje o código com try/catch sem ter uma necessidade. Nao entendo pq vejo tanto código java com um bando de try/catch desnecessários. Usa alguma ferramenta pra poder consultar os erros centralizados em arquivos. Acho que no Java usam log4j, slf4j, etc.