Fórum Mensagem do banco de dados #464644

20/12/2013

0

Olá pessoal,

Por exemplo, quando tento excluir uma tabela no BD que tenha relacionamento com outra tabela,
o BD me traz a mensagem de "chave primária da tabela XXX é referencia em outra tabela". Certo?

Vocês fazem algum tipo de tratamento para mostrar uma mensagem mais "fácil" para o usuário?

Se sim, esta validação é feita de forma genérica? ou em cada tela isso deve ser tratado?

Felipe Rosa

Felipe Rosa

Responder

Posts

23/12/2013

Perivaldo Martins

Você conhece ou usa o bloco Try Except?
Exemplo:
var
	  x,y,i:integer;
	begin
	 
	     x :=100;
	     y := 0;
	 
	     try
	         x:= x div y; //Divisão por Zero gerará uma exceção
	     except
	         showmessage('Houve um erro ao tentar dividir x por y, pois y=0');
	     end;
	 
	end;


Apenas a título de exemplo.

Boa sorte e bons códigos!
Responder

Gostei + 0

25/12/2013

Joel Rodrigues

Existe uma forma de tratar as exceções de forma geral para toda a aplicação, utilizando um componente TApplicationEvents e tratando o evento OnException. Nele você pode identificar a exceção que ocorreu e mostrar uma mensagem mais amigável.
Na empresa onde trabalho, fizeram isso. Eles pegavam a mensagem original da exceção e, SE FOSSE MENSAGEM X, MOSTRAVAM MENSAGEM Y. Deu pra pegar a ideia?
É trabalhoso e "feio", mas... em último caso, dá pra fazer.
Outra possibilidade é tratar só o tipo de exceção, mas isso não lhe permite sempre exibir uma mensagem exata. Por exemplo, em toda EDivByZero, mostrar a mensagem "Erro de divisão por zero". Mas em exceções de bd, isso não seria muito claro.
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar