Ir para conteúdo
  • Cadastre-se

dev botao

Mensagem de Exceção no exemplo do ACBrEtq


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 1983 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

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

  • Moderadores
  • Solution
Postado
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.

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

Projeto ACBr

 

 

  • Membros Pro
Postado
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

  • Moderadores
Postado
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.

 

  • Curtir 2
  • Obrigado 1
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

  • Membros Pro
Postado
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

  • Curtir 1
  • Administradores
Postado

Obrigado por reportar.

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

  • Curtir 1
Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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 !!

  • Este tópico foi criado há 1983 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...