Mesnagem de Exception
Pessoal
Algo muito estranho aconteceu em meu sistema e não consegui resolver.
Tenho vários blocos de Try/Exception .. onde no Exception exibo uma mensagem dizendo q ocorreu um erro, pr exemplo. Também tenho algumas rotinas q geram uma exception: exemplo :
´raise Exception.Create (´Ocorreu Erro !´);
o que ocorre é que estas mensagens não estão sendo exibidas... se eu compilar o programa pelo dephi e fizer dar algum Exception a mensagem é exibida, fora do Delphi não é mais exibida - mas antes exibia.
obrigado
Diogo
Algo muito estranho aconteceu em meu sistema e não consegui resolver.
Tenho vários blocos de Try/Exception .. onde no Exception exibo uma mensagem dizendo q ocorreu um erro, pr exemplo. Também tenho algumas rotinas q geram uma exception: exemplo :
´raise Exception.Create (´Ocorreu Erro !´);
o que ocorre é que estas mensagens não estão sendo exibidas... se eu compilar o programa pelo dephi e fizer dar algum Exception a mensagem é exibida, fora do Delphi não é mais exibida - mas antes exibia.
obrigado
Diogo
Diogoalles
Curtidas 0
Respostas
Marcelo Saviski
14/01/2004
isso: raise Exception.Create (´Ocorreu Erro !´); , acho que só são exibidas quando se Roda o programa pelo Delphi, quando vc executa a versão compilada, elas não aparecem
GOSTEI 0
Diogoalles
14/01/2004
Mas aparece sim. Em qq programa delphi ...
Inclusive estava aparecendo antes .. desde ontem q ñ são mais exibidas..
Inclusive estava aparecendo antes .. desde ontem q ñ são mais exibidas..
GOSTEI 0
Renatosilva
14/01/2004
Colega, pelo o que eu sei, se você capturar uma exceção com try/except, a mensagem que a exceção gera é descartada, passando a valer o que você determinar no bloco except. Mas você pode pegar a mensagem da exceção no bloco except, assim:
[b:bbc11b5ef0]try[/b:bbc11b5ef0]
Inteiro := StrToInt(Edit1.Text);
[b:bbc11b5ef0]except[/b:bbc11b5ef0]
[b:bbc11b5ef0]on [/b:bbc11b5ef0]E: EConvertError do ShowMessage(E.[b:bbc11b5ef0]Message[/b:bbc11b5ef0]);
[b:bbc11b5ef0]end[/b:bbc11b5ef0];
Pô se não é isso então não sei...
[b:bbc11b5ef0]try[/b:bbc11b5ef0]
Inteiro := StrToInt(Edit1.Text);
[b:bbc11b5ef0]except[/b:bbc11b5ef0]
[b:bbc11b5ef0]on [/b:bbc11b5ef0]E: EConvertError do ShowMessage(E.[b:bbc11b5ef0]Message[/b:bbc11b5ef0]);
[b:bbc11b5ef0]end[/b:bbc11b5ef0];
Pô se não é isso então não sei...
GOSTEI 0
Diogoalles
14/01/2004
certo
é exatamente o q faço .. mas ñ está exibindo as mensagens mais .. ñ sei o q aconteceu
o q faço
obrigado
é exatamente o q faço .. mas ñ está exibindo as mensagens mais .. ñ sei o q aconteceu
o q faço
try ... except on E : Exception do begin MessageDlg(´Ocorreu um erro´); end; end;
obrigado
GOSTEI 0
Renatosilva
14/01/2004
O seu exemplo exibe uma mensagem própria, não pega a mensagem da exceção. Se isto não está acontecendo é porque a exceção não está acontecendo.
Tente o seguinte: em vez de gerar uma exeção Exception, descenda a sua própria classe de exceção:
class EMyException = class (Exception);
...
raise EMyException.Create(´Erro tal´)...
Se não der certo vou ver se testo aqui pra te ajudar...
Tente o seguinte: em vez de gerar uma exeção Exception, descenda a sua própria classe de exceção:
class EMyException = class (Exception);
...
raise EMyException.Create(´Erro tal´)...
Se não der certo vou ver se testo aqui pra te ajudar...
GOSTEI 0