Possuo as seguintes classes: ClienteDAO, ClienteModele as seguintes
exceptions: DAOException, ModelException
Gostaria que qualquer Exception que ocorrer dentro de um método de
ClienteDAO fosse instanciado um DAOException dizendo o método do DAO que
causou o erro e não o método que foi chamado dentro dele, por exemplo, o
método abaixo daria pau no PreparedStatement, mas nosso DAOException não
gravaria o método do preparedStatement e sim o método inserir() do DAO.
já o getMessage() seria a mensagem retornada pelo preparedStatement.
class ClienteDAO {
..public void inserir() throws DAOException {
....try {
......// vai acontecer algum erro aqui, por exemplo um JDBCException
....}
.....catch (Exception e) {
.......throw new DAOException(
passando dinamicamente "ClienteDAO"
exemplo"
....}
..}
}
essa exceção DAOException seria delegada até a próxima camada (modelo) e lá
passaria reto, afinal, se já houve o erro em uma camada mais baixa não teria
como executar o resto.
class ClienteModel {
..public void novoCliente(
....try {
......clienteDAO.
......setChanged(
......notifyObserve
....}
....catch (DAOException e) {
.......throw new DAOException(
ação, então cairia aqui e passaria para a próxima camada com os mesmos
valores que foram capturados no "throw" anterior, isto é, "clienteDAO"
"inserir" e "Table not found"
....}
.....catch (Exception e) {
........throw new ModelException(
instancie ModelException com os valores "ClienteModel"
exemplo "MethodNotFound pois estou usando setChanged() sem implementar
Observer"
....}
..}
}
Estou com dúvida nessas passagem de parâmetros, não consigo pegar os valores
que coloquei nos comentários e ir delegando sempre com os métodos exatos que
deram pau.
da forma que estou fazendo, ele dá pau no ClienteDAO e delega a exceção
DAOException para o ClienteModel, mas quando chega lá e cai no catch
(DAOException) ele constrói um novo objeto dizendo que o erro foi no
ClienteModel, fazendo eu perder os dados do erro do ClienteDAO.
Será que consegui explicar minha dúvida?
Obrigado
[As partes desta mensagem que não continham texto foram removidas]
Para upload/download de arquivos: http://www.yahoogroups.com/files/java-br
Alterar configurações via web (Requer Yahoo! ID)
Alterar configurações via e-mail: Alterar recebimento para lista diária de mensagens | Alterar formato para o tradicional
Visite seu Grupo | Termos de uso do Yahoo! Grupos | Sair do grupo
0 comentários:
Postar um comentário