 |
ActiveDelphi .: O site do programador Delphi! :.
|
Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
aleshy Profissional

Registrado: Terça-Feira, 13 de Março de 2007 Mensagens: 627
|
Enviada: Sáb Ago 01, 2009 3:48 pm Assunto: Porque bloco TRY EXCEPT nao funciona? |
|
|
Pessoal.
Como ainda nao tenho o conhecimento necessario para ser intitulado PROGRAMADOR, peço a vossa ajuda.
Onde esta o erro neste codigo, pois quando posto um registro onde, por exemplo, o codigo nao pode ser nulo no banco, o bloco nao retorna o erro como deveria.
Código: | procedure TFPadrao2.BtnSalvarClick(Sender: TObject);
begin
if DSMestre.DataSet.State = DsInsert then
begin
if Application.MessageBox('Confirma a inclusão?','Minha Aplicacao', mb_iconquestion+mb_yesno) = Idyes then
try
DSMestre.DataSet.Post;
(DSMestre.DataSet as TClientDataSet).ApplyUpdates(0);
Except
On E: Exception do ShowMessage(E.Message);
end;
end; |
Quando ocorre um erro nao aparece NADA  _________________ Alex Vieira
Desenvolvedor
Salvador - Ba |
|
Voltar ao Topo |
|
 |
johnny-walker Moderador


Registrado: Sábado, 4 de Outubro de 2003 Mensagens: 10653 Localização: Contagem/MG - BRAZIL
|
Enviada: Sáb Ago 01, 2009 10:03 pm Assunto: |
|
|
Amigo o ClientDataSet tem exceçoes silenciosas, pois este foi projetado para trabalhar com datasnap, por isto que a borland criou o reconcile error, onde vc pode pegar os erros que acontece com ele...
eis uma maneira de pegar a exceção:
Código: |
procedure TDM.GetError(DataSet: TCustomClientDataSet; E: EReconcileError;
UpdateKind: TUpdateKind; var Action: TReconcileAction);
begin
showmessage('Um Erro Ocorreu ao tentar gravar o registro '+#13+
'Mensagem Original '+E.Message);
end;
|
outra maneira seria:
outra que tb retorna nao um erro mas que nao foi possível gravar no banco...
há outras formas, de uma pesquisada no google
Código: |
if CDS.ApplyUpdates(0) <> 0 then
Application.MessageBox(PChar('Não foi possível conluir a transação, devido a um problema ocorrido.'), 'AVISO DOS SISTEMA - Inclusão/Iserção', MB_ICONERROR+MB_Ok)
|
mas o correto seria utilizar a tela do reconcile error em New... Other.. dialogs reconcile error...
Nestes exemplos sao erros genericos nao refletindo no todo, com o reconcile error vc tem maior controle disto....
bye _________________ P.O.W.E.R B.Y D.E.L.P.H.I |
|
Voltar ao Topo |
|
 |
|
|
Enviar Mensagens Novas: Proibido. Responder Tópicos Proibido Editar Mensagens: Proibido. Excluir Mensagens: Proibido. Votar em Enquetes: Proibido.
|
|