como fazer para uma função só ser executada caso um outra função tenha sido executada com sucesso?
Por Exemplo:
Tenho a quatro funções para serem executadas, porém todas elas tem que ser realizadas sem erros.
Se em uma das quatro funções ocorrer algum errro, as demais funções devem ser abortadas.
Assim a aplicação é interrompida quando ocorre algum erro na função
fabim
Acho que nao e isso que ele quer.
Pelo que eu entendi, ele quer uma especie de “transaction”, de maneira que mesmo que se execute com sucesso 1, 2 e 3, mas o 4 falhe, de uma especie de ‘rollback’ no 1 2 e 3.
J
jr.mg
Se der erro no 4ª metodo voce quer abortar o primeiro,segundo e terceiro tbm? Ou
Se der erro em algum dos metodos so nao executa o que vier abaixo?
Se for o ultimo…é so em cada metodos(funcao) você encaminha a Excessão para o chamdador com o throws
Agora se for o primeiro caso…ai tem que ver o que voce esta fazendo em cada um dos metodos…por exemplo se estiver salvando dados em um
Banco de Dados…ai voce tem que iniciar a transacao e so dar o comit apos o 4º metodo ser executado com sucesso…
T+
Vini_Fernandes
Cara, sugiro a voce que na implementacao das suas funcoes voce retorne um boolean para o caso em que as funcoes sejam executadas corretamente, por exemplo: o metodo add() da java.util.List. Assim, voce tera:
A ordem de execucao entre as funcoes um, dois e tres será de acordo com sua logica!
Abracao
E
engfelipeoliveira
Blz Vini…
Acho que essa foi uma boa solução.
Obrigado.
Abraço.
Vini_Fernandes
Temos um problema na minha proposta, o fato é que se o metodo funcaoTres() nao seja executado como deseja voce nao tera como dar um rollback nas funcaoes anteriores!
abracao
ggarnier
Vini Fernandes:
Cara, sugiro a voce que na implementacao das suas funcoes voce retorne um boolean para o caso em que as funcoes sejam executadas corretamente, por exemplo: o metodo add() da java.util.List. Assim, voce tera:
Cara, sugiro a voce que na implementacao das suas funcoes voce retorne um boolean para o caso em que as funcoes sejam executadas corretamente, por exemplo: o metodo add() da java.util.List. Assim, voce tera:
Cara, sugiro a voce que na implementacao das suas funcoes voce retorne um boolean para o caso em que as funcoes sejam executadas corretamente, por exemplo: o metodo add() da java.util.List. Assim, voce tera:
Não entendi. As duas soluções (usando && e usando if) fazem exatamente a mesma coisa. Só coloquei o boolean ok na frente p/ poder verificar se todas as funções tiveram sucesso.
peczenyj
Existem varias formas de fazer isso.
Vc pode sinalizar que falhou lançando uma Exception
Vc pode retornar sucesso ou falha e, então, aninhar ifs e elses para executar a proxima instrução
O procedimento pode sinalizar qual é , ou invocar diretamente, o proximo procedimento
Vc pode criar um algoritmo generico para executar todos os procedimentos (que podem ser definidos num xml, adicionados numa collection ou mesmo usando alguma anotação que vc criou) e parar quando um não se comportar da forma esperada. O JUnit funciona dessa forma, porem vc tem que pensar na ordem de execução.