Olá, gostaria de saber se é recomendável tratar as exceptions dentro do controller utilizando try{ } catch{ } ? No meu controler, eu recebo um objeto do tipo Diario, primeiramente eu valido se o diário foi preenchido corretamente(Bean Validation), logo em seguida eu faço uma validação que na verdade é uma regra de negócios do sistema. Tratar essa exception dessa forma é uma boa?
@Controller
public class DiariosController {
@Inject //repositorio
private Diarios diarios;
@Post("/diarios/salvar")
public void salvar(@Valid Diario diario) {
validator.onErrorForwardTo(this).diario(diario);
try {
diario.setUsuarioCriacao(usuarioLogado.getUsuario());
diario.setNumero(diarios.numeroProximaPublicacao());
Diario diariocirculacao = diarios.buscarDiarioPorDataCirculacao(diario.getDataCirculacao());
if(diariocirculacao != null){
throw new BusinessException("Já existe um diário criado com esta data de circulação");
}
diarios.salvarDiario(diario);
result.redirectTo(this).lista();
} catch (BusinessException e) {
result.include("mensagem", e.getMessage());
result.redirectTo(this).lista();
}
}
}