Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

FacesMessages vs RuntimeException

Qual o melhor usar? sei que não tem o melhor a usar, e sim depende da ocasião, mas os 2 tem a mesma funcionalidade, só que o faces a mensagem parece na sua página certo? to com uma duvida nesse faces.

FacesContext fc = FacesContext.getCurrentInstance();
            fc.addMessage("autor", new FacesMessage("Livro deve ter pelo menos um Autor."));

Esse "autor" é a ligação do meu

<h:selectOneMenu value="#{livroBean.autorId}" id="autor">

do meu id aqui? desde já obrigado

2 respostas
solução!

Oi Alisson, tudo bem ?

Então cara, quando nós utilizamos o FacesMessage é para enviarmos uma mensagem para tela, portanto precisaremos ter algum elemento que esteja pronto para ouvir essa mensagem.

Quando utilizamos a exception é para indicar que alguma coisa quebrou, geralmente algum problema de fato.

Agora pense no usuário utilizando o sistema, o que você acha que ele ficaria mais feliz e entenderia com maior facilidade ?

Caso apresente uma mensagem, ele vai ler e arrumar rapidinho, reparando que o problema foi os dados que ele inseriu.

Já a exception, iria estourar para ele, neste caso o que ele faria é falar que o sistema não funciona, além de não ler o que realmente está acontecendo, talvez sequer entenda o que está rolando.

Se for alguma coisa para exibir para ser corriguida, tente usar o FacesMessage, caso algum problema tenha acontecido ou realmente alguma falha do sistema, prefira usar exception.

Abraços

Otima explicação man