Boa tarde, Luis!
Para fazer seu DAO lançar uma exceção, basta adicionar o throw na parte do método que você acha que deve lançar e, após a assinatura do método, adicionar a palavra reservada throws, seguida do tipo de exceção que seu método irá lançar.
No exemplo, tenho uma classe própria de exceção, chamada DAOException, que estende Exception. Eu faço o lançamento de uma exceção do tipo DAOException quando houver um erro de persistência em meu EntityManager. Daí, caso haja uma exceção do tipo PersistenceException, eu a capturo e lanço uma do tipo DAOException com uma mensagem mais amigável.
No meu bean, eu pego a exceção e chamo o método getMessage(); para poder exibir a mensagem amigável.
public void adiciona(Anexo anexo) throws DAOException {
try {
this.manager.persist(anexo);
} catch (PersistenceException e) {
throw new DAOException("Falha ao adicionar o anexo.");
}
}
Se tiver mais alguma dúvida, só postar.
Abraço.