Fórum Usar try except para tratar Transação com dbexpress. #334579
12/12/2006
0
Estou com um pequeno problema.
Se tento:
Simplesmente não entra no except mostrando a mensagem de erro.
Agora pergunto o que estou fazendo de errado? Desta maneira nao ´funfa´ mesmo?
:roll:
P.s: o codigo acima é apenas demonstrativo.
Macario
Curtir tópico
+ 0Posts
12/12/2006
Martins
Ele tem um form q vc pode alterar para manter o mesmo layout do seu sistema.
T+
Gostei + 0
12/12/2006
Macario
Olá Martins.
Já fiz uso do OnReconclileError, mas acredite nao foi disparado o evento.
Gostei + 0
12/12/2006
Martins
Olá Martins.
Já fiz uso do OnReconclileError, mas acredite nao foi disparado o evento.[/quote:d11d64e043]
Estranho...
Gostei + 0
12/12/2006
Macario
Olá Martins.
Já fiz uso do OnReconclileError, mas acredite nao foi disparado o evento.[/quote:c848776a52]
Estranho...[/quote:c848776a52]
Muito estranho,
Veja, tambem faço uso do componente madexcept, nem mesmo ele me ´indica´ o erro que ocorre no momento do applyupdates.
ja fiz teste com e sem a utilização do componente, mesmo assim, não estou conseguindo;
Gostei + 0
12/12/2006
Marco Salles
Use o [b:433be78f9b]evento[/b:433be78f9b] OnReconcileError do clientDataSet.. Este evento é disparado quando ocorre uma exceção
Gostei + 0
12/12/2006
Macario
Use o [b:f4ef8d200b]evento[/b:f4ef8d200b] OnReconcileError do clientDataSet.. Este evento é disparado quando ocorre uma exceção[/quote:f4ef8d200b]
Up :idea:
Gostei + 0
12/12/2006
Marco Salles
eu não estou falando de form.. Estou falando do evento... Pode parecer ´estranho´ para alguns , mas existe form pre-definidos de mensagems de erros...
Pensei que fosse deste[b:829bbff296] form [/b:829bbff296]que voces tivessem se referindo...
Ms pelo que tudo indica , voce esta usando o evento onreconcileerror do Cds , e não esta disparando...Mas acho que voce pode usar um flag para isso
Gostei + 0
12/12/2006
Macario
Seguindo um ´velho´ e otimo exemplo postado pelo [b:ffe5b1dfb7]vinicius2k[/b:ffe5b1dfb7],
eu ja faço uso de um ´flag´ para testar se foi bem sucedido o applyupdates, pois em determinados pontos do sistema tenho mais de 3 tabelas envolvidas.
Então o grande problema é que o ´sitema´ esta me ocultadno o erro.
Não consegui(e não consigo) saber o por que a transação é abortada para poder corrigir o problema.
:roll:
Gostei + 0
12/12/2006
Macario
Seguindo um ´velho´ e otimo exemplo postado pelo [b:75cb941e05]vinicius2k[/b:75cb941e05],
eu ja faço uso de um ´flag´ para testar se foi bem sucedido o applyupdates, pois em determinados pontos do sistema tenho mais de 3 tabelas envolvidas.
Então o grande problema é que o ´sitema´ esta me ocultadno o erro.
Não consegui(e não consigo) saber o por que a transação é abortada para poder corrigir o problema.
:roll:
Gostei + 0
12/12/2006
Marco Salles
Portanto , faça um teste simples , tire o try exceptt , do seu codigo , forçe um erro (por exemplo uma duplicação de chave primária) e coloque no evento oneconcileerrro uma mensagem qualquer e veja se não é disparado
No evento escreva:
[b:503d25552c]não aparece esta mensagem[/b:503d25552c] ???????
Gostei + 0
12/12/2006
Marco Salles
macario , tb ja passei por esta situação e voce ate mesmo participou do tópico qando ha algum tempo atrás , tive a mesma dúvida e aparentemente o mesmo problema que o seu... Mas no fim , foi
insistindo com o evento econcileerror do clientedataset que consegui
capturar o erro...
Portanto , faça um teste simples :
[b:b2e2278849]tire o try exceptt [/b:b2e2278849], do seu codigo , [b:b2e2278849]forçe um erro [/b:b2e2278849](por exemplo uma duplicação de chave primária) e coloque no evento oneconcileerrro uma mensagem qualquer e veja se não é disparado ...
Citação:
No evento escreva:
Citação:
[b:b2e2278849]não aparece esta mensagem ???????[/b:b2e2278849]
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)