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

Dúvida no Ex. 5 da Aula 5 - Lidando com Exceções

Se a classe LivrariaException é do tipo RuntimeException, e assim realiza rollback, por que é necessário definir '@ApplicationException(rollback=true)' ? Serve apenas para indicar que aquela exceção é do tipo ApplicationException e não SystemException?

2 respostas
solução!

Oi Marcelo,

a LivrariaException, sendo do tipo RuntimeException, é uma SystemException, causando Rollback.

Assim que vc coloca @ApplicationException ela se torna uma Aplication Exception que não causa rollback por padrão.

abs

Complementando a resposta do Nico, acredito que a função do uso concomitante do extends RuntimeException e da anotação @ApplicationException é a possibilidade de ter uma ApplicationException que não obriga o tratamento de checked.