Jump to content

Assista click.png tectoy.png

C6 chamada_c6.png botao.png

Mensagem de Exceção no exemplo do ACBrEtq


doidopb
Go to solution Solved by BigWings,
  • Este tópico foi criado há 1049 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá a todos,

Estou estudando o exemplo do ACBrEtq e uma coisa me chamou a atenção.

Em nenhuma parte do código do UPrincipal eu achei algum except para tratar exceções e exibir ao usuário os erros, como por exemplo falta de comunicação com a impressora.

No entanto, sempre que ocorre uma exceção no aplicativo, um alerta com ícone de erro e a mensagem do erro é exibida ao usuário. Como é feito isso? Como esse alerta é exibido sem o aparente uso do except?

Desde já agradeço a atenção de todos

Link to comment
Share on other sites

  • Moderadores
  • Solution
Em 06/07/2019 at 09:51, doidopb disse:

No entanto, sempre que ocorre uma exceção no aplicativo, um alerta com ícone de erro e a mensagem do erro é exibida ao usuário. Como é feito isso? Como esse alerta é exibido sem o aparente uso do except? 

Sem o tratamento com try..except, o Delphi faz o tratamento padrão da exceção, TApplication.ShowException, implementado na unit Forms.

O resultado é a mensagem na tela.

  • Like 3
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

  • Membros Pro
5 horas atrás, BigWings disse:

Sem o tratamento com try..except, o Delphi faz o tratamento padrão da exceção, TApplication.ShowException, implementado na unit Forms.

O resultado é a mensagem na tela.

Olá meu amigo,

Verdade... Iniciei um novo VCL Forms Application - Delphi e forcei uma exceção, realmente ele exibiu o alerta conforme você disse.

Mas na minha aplicação quando eu NÃO coloco o try.. except em algum form, ela não exibe o alerta e o usuário fica sem saber o que houve, então sou obrigado a colocar o try.. except, não sei porque... Mas de qualquer forma agradeço a explicação.

Abraços

Link to comment
Share on other sites

  • Moderadores
10 minutos atrás, doidopb disse:

Mas na minha aplicação quando eu NÃO coloco o try.. except em algum form, ela não exibe o alerta e o usuário fica sem saber o que houve, então sou obrigado a colocar o try.. except, não sei porque... Mas de qualquer forma agradeço a explicação.

Pode ter algum tratamento global de exceções no seu projeto.

 

  • Like 2
  • Thanks 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

  • Membros Pro
7 minutos atrás, BigWings disse:

Pode ter algum tratamento global de exceções no seu projeto.

 

Perfeito meu amigo, você elucidou o mistério...

Eu tenho um componente ApplicationEvents com o evento OnException implementado com um exemplo que eu peguei da internet com algumas exceções básicas (violação de chave, valor inválido, data inválida, etc), mas não existia um alerta padrão para erros que não se enquadrassem nessa lista de exceções básicas, agora eu coloquei um

if excecaobasica1 Then
	ShowMessage('excecaobasica1')
else 
if excecaobasica2 Then
	ShowMessage('excecaobasica2')
else 
if excecaobasica3 Then
	ShowMessage('excecaobasica3')
else

...
//Se nenhuma das anteriores, exiba um alerta padrão
	ShowMessage(E.Message); 

Eu não sabia que ao colocar o ApplicationEvents com o evento OnException implementado o Delphi ignoraria o alerta padrão dele (TApplication.ShowException) e passaria a enxergar somente o OnException do ApplicationEvents.

Obrigado novamente

  • Like 1
Link to comment
Share on other sites

  • Administradores

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

  • Like 1
Consultora SAC ACBr

Juliana Tamizou
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link to comment
Share on other sites

  • Este tópico foi criado há 1049 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.