[RESOLVIDO] Capturar erro ao apagar registro em um EJB

Olá.

Meu problema é o seguinte: eu tenho um método num EJB que faz um delete no meu EntityManager.
Eu gostaria de capturar a exceção quando o delete não obtem êxito, nesse caso por causa de violação de Foreign Key.
Porém, o método delete passa liso e a execução vai até o final do método do EJB sem gerar erro.
No fim do método, automaticamente a deleção é feita efetivamente no banco de dados, aparece a SQL no console e, então, o stack trace do erro de violação de constraint.

Eu gostaria de capturar essa Exception, mas não faço ideia de como fazê-lo.
Alguém pode me ajudar?

Desde já, muito obrigado.

Cara, se você está deixando o o servidor controlar sua transação você pode fazer o seguinte.

No seu método salvar você coloca a anotação para pedir uma nova transação. Apenas para o Delete no caso.

Aí ao sair do método ele irá realizar o commit irá aparecer sua exception.

Ou caso a transação esteja manual, você poderá utilizar o commit na unha.

outra possibilidade seria no seu método delete vc chamar o método flush pois o mesmo força a escrita da sql e vai te apresentar o erro esperado nakele momento.

Utilizei a técnica de forçar a atualização no banco através do flush(). Consegui capturar a exceção e tratar, funcionou perfeitamente.

Obrigado aos dois por responder.