Tradução remover o e Exception
Galera eu pego o erro e traduzo da Base assim:
só que me retorna sempre a primeira linha assim:
Exception 1
só que não consigo tirar a primeira linha da String e.message
pra ficar só a tradução assim:
Alguém tem alguma coisa pronta ou alguma edéia??
Thanks
try SCREEN.Cursor := crHourGlass; IBTable1.Delete; SCREEN.Cursor := crdefault; except on E: Exception do begin ShowMessage(´Ocorreu o seguinte erro: ´+#13+e.message); end; SCREEN.Cursor := crdefault; end; end;
só que me retorna sempre a primeira linha assim:
Exception 1
Ocorreu o seguinte erro: tallll
só que não consigo tirar a primeira linha da String e.message
pra ficar só a tradução assim:
Ocorreu o seguinte erro: tallll
Alguém tem alguma coisa pronta ou alguma edéia??
Thanks
Marcos Fernando
Curtidas 0
Respostas
Adriano Santos
06/07/2006
Marco, desculpe, mas num entendi.
GOSTEI 0
Marcos Fernando
06/07/2006
Desculpe se não foi claro:
Assim:
o código acima captura o erro gerado pelo FireBird gerado por um exception na base,
ai eu mando dar um showMessage com o erro traduzido, só que não sei porque sempre vem na primeira linha da string do erro (e.message) assim:
só quero saber como posso remover a primeira linha dessa string para que minha mensagem fique assim:
simples,
Thanks
Assim:
o código acima captura o erro gerado pelo FireBird gerado por um exception na base,
ai eu mando dar um showMessage com o erro traduzido, só que não sei porque sempre vem na primeira linha da string do erro (e.message) assim:
Exception 1 Ocorreu o seguinte erro: tallll
só quero saber como posso remover a primeira linha dessa string para que minha mensagem fique assim:
Ocorreu o seguinte erro: tallll
simples,
Thanks
GOSTEI 0
Marco Salles
06/07/2006
tb não entendi...
voce esta dizendo que o delphi esta [b:52511fcf0f]´embaralhando´ [/b:52511fcf0f]a string
a mensagem deveria ser assim
[b:52511fcf0f]
e sei lá porque cargas dágua aparece uma String [b:52511fcf0f]Exception 1[/b:52511fcf0f]
em cima da String :arrow: [b:52511fcf0f] Ocorreu o seguinte erro: tallll[/b:52511fcf0f]
Gerando uma memsagem digamos assim [b:52511fcf0f]´embarladada´[/b:52511fcf0f]
[b:52511fcf0f]
se for isto mesmo que entendi , antes de prosseguir para a solução estou pasmo :cry: :cry: Devo estar entendendo errado :cry: :cry:
voce esta dizendo que o delphi esta [b:52511fcf0f]´embaralhando´ [/b:52511fcf0f]a string
a mensagem deveria ser assim
[b:52511fcf0f]
Ocorreu o seguinte erro: tallll
[/b:52511fcf0f]e sei lá porque cargas dágua aparece uma String [b:52511fcf0f]Exception 1[/b:52511fcf0f]
em cima da String :arrow: [b:52511fcf0f] Ocorreu o seguinte erro: tallll[/b:52511fcf0f]
Gerando uma memsagem digamos assim [b:52511fcf0f]´embarladada´[/b:52511fcf0f]
[b:52511fcf0f]
Exception 1
Ocorreu o seguinte erro: tallll
[/b:52511fcf0f]se for isto mesmo que entendi , antes de prosseguir para a solução estou pasmo :cry: :cry: Devo estar entendendo errado :cry: :cry:
GOSTEI 0
Marcos Fernando
06/07/2006
exatamente o delphi me retorna ao erro assim mesmo:
e se eu conseguir remover a primeira linha fica tudo blz, pois do mesmo modo que aparece na primeira linha Exception 1 aparece Exception 2 ou Exception 33 depende de qual eu usar na base,
Thanks
Exception 1 Ocorreu o seguinte erro: tallll
e se eu conseguir remover a primeira linha fica tudo blz, pois do mesmo modo que aparece na primeira linha Exception 1 aparece Exception 2 ou Exception 33 depende de qual eu usar na base,
Thanks
GOSTEI 0
Marco Salles
06/07/2006
exatamente o delphi me retorna ao erro assim mesmo:
Código:
Exception 1
Ocorreu o seguinte erro: tallll
voce ja tentou observar a mensagem de erro que aparece via aplicativo.
via executável...
GOSTEI 0
Adriano Santos
06/07/2006
[quote:736fc9a59a=´Marco Salles´]
voce ja tentou observar a mensagem de erro que aparece via aplicativo.
via executável...[/quote:736fc9a59a]
Tô pasmo, nunca vi isso.
exatamente o delphi me retorna ao erro assim mesmo:
Código:
Exception 1
Ocorreu o seguinte erro: tallll
voce ja tentou observar a mensagem de erro que aparece via aplicativo.
via executável...[/quote:736fc9a59a]
Tô pasmo, nunca vi isso.
GOSTEI 0
Marcos Fernando
06/07/2006
Mais é via aplicativo esse erro,
para facilitar o entendimento montei um demo básico,
http://www.brasilsistemas.com.br/brasilsistemas/Error.zip
Thanks
para facilitar o entendimento montei um demo básico,
http://www.brasilsistemas.com.br/brasilsistemas/Error.zip
Thanks
GOSTEI 0
Marco Salles
06/07/2006
a mensagem de erro que obtive foi normal :?: :?: :?:
GOSTEI 0
Marcos Fernando
06/07/2006
Desculpe na correria eu acabei postando o exemplo errado, mais já mandei o correto...
http://www.brasilsistemas.com.br/brasilsistemas/Error.zip
o erro que retorna é esse:
[img]http://www.brasilsistemas.com.br/brasilsistemas/Error.bmp[/img]
Thanks
http://www.brasilsistemas.com.br/brasilsistemas/Error.zip
o erro que retorna é esse:
[img]http://www.brasilsistemas.com.br/brasilsistemas/Error.bmp[/img]
Thanks
GOSTEI 0
Marco Salles
06/07/2006
Mudei o diretorio do seu banco para o caminho correto em minha máquina
Configurei as propriedades conected do TDIBDataBase e do IbTransaction
para True..[b:1214eee444] Porem quando tento configurar a propriedade Conected do IbTable apresenta a seguinte mensagem de erro Abaixo [/b:1214eee444]: :cry: :cry:
[URL=http://imageshack.us][img:1214eee444]http://img132.imageshack.us/img132/9143/imagemfernando9sp.png[/img:1214eee444][/URL]
Mesmo assim rodei o aplicativo e dá esta mensagem ... Que é a correta
[b:1214eee444]Sem o Exception[/b:1214eee444] na mensagem conforme se pode notar
[URL=http://imageshack.us][img:1214eee444]http://img142.imageshack.us/img142/8650/imagemfernando16px.png[/img:1214eee444][/URL]
Configurei as propriedades conected do TDIBDataBase e do IbTransaction
para True..[b:1214eee444] Porem quando tento configurar a propriedade Conected do IbTable apresenta a seguinte mensagem de erro Abaixo [/b:1214eee444]: :cry: :cry:
[URL=http://imageshack.us][img:1214eee444]http://img132.imageshack.us/img132/9143/imagemfernando9sp.png[/img:1214eee444][/URL]
Mesmo assim rodei o aplicativo e dá esta mensagem ... Que é a correta
[b:1214eee444]Sem o Exception[/b:1214eee444] na mensagem conforme se pode notar
[URL=http://imageshack.us][img:1214eee444]http://img142.imageshack.us/img142/8650/imagemfernando16px.png[/img:1214eee444][/URL]
GOSTEI 0
Marcos Fernando
06/07/2006
Em minhas máquinas aki consigo abrir normal, eu uso o FB 1.5.3.4870 com IBX 7.08 pode ser isso,
e referente a message:
tá blz, pois o erro acontece quando eu uso o Exception do Banco FireBird
Muito Grato pela força
Thanks
e referente a message:
tá blz, pois o erro acontece quando eu uso o Exception do Banco FireBird
Muito Grato pela força
Thanks
GOSTEI 0
Adriano Santos
06/07/2006
[quote:a3ad60bc06=´Marcos Fernando´]Em minhas máquinas aki consigo abrir normal, eu uso o FB 1.5.3.4870 com IBX 7.08 pode ser isso,
e referente a message:
tá blz, pois o erro acontece quando eu uso o Exception do Banco FireBird
Muito Grato pela força
Thanks[/quote:a3ad60bc06]
Hummm, eu até pensei que vc tava usando os exceptions do banco, mas sabe qdo num cai a ficha? Ontem dei uma olhada rápida no seu sistema, porém não olhei o banco.
Pow, então que chato hein? Terá que dar um nome mais ´amigável´ para cada Exception.
e referente a message:
tá blz, pois o erro acontece quando eu uso o Exception do Banco FireBird
Muito Grato pela força
Thanks[/quote:a3ad60bc06]
Hummm, eu até pensei que vc tava usando os exceptions do banco, mas sabe qdo num cai a ficha? Ontem dei uma olhada rápida no seu sistema, porém não olhei o banco.
Pow, então que chato hein? Terá que dar um nome mais ´amigável´ para cada Exception.
GOSTEI 0
Marcos Fernando
06/07/2006
Hummm, eu até pensei que vc tava usando os exceptions do banco,
Mais eu uso, olha no trigger da tabela banco, tenta excluir pelo IBexpert ele vai traduzir blz a message gerado por um exception, já pelo demo que montei ele me retorna sempre ao número do exception antes da message como a imagem:
Terá que dar um nome mais ´amigável´ para cada Exception.
essa não entendi? pois onde influencia o nome? e também o nome é ´amigável´ ou não???
Thanks
GOSTEI 0
Adriano Santos
06/07/2006
Qdo vc cria um exception no banco num dá pra vc dar um nome pra ele, tipo como fazemos com o domains?
GOSTEI 0
Marcos Fernando
06/07/2006
Positivo eu dei um nome:
Thanks
Create EXCEPTION [b]DELETE_PARCELAS [/b]´´
Thanks
GOSTEI 0
Marco Salles
06/07/2006
Positivo eu dei um nome:
Código:
Create EXCEPTION [b:6e7b9a103f]DELETE_PARCELAS [/b:6e7b9a103f]´´
então , ´acho eu´ que ao inves de voce usar o
except on E: Exception do begin que é o erro mais geral voce deve usar este tipo de erro except on E:DELETE_PARCELAS do begin
GOSTEI 0
Adriano Santos
06/07/2006
[quote:a11a96ee79=´Marco Salles´]
então , ´acho eu´ que ao inves de voce usar o
[/quote:a11a96ee79]
Bom, agora deixa eu viajar. Se você deu o nome de [b:a11a96ee79]DELETE_PARCELAS[/b:a11a96ee79], teoricamente sua mensagem de excetion aparecerá mais ou menos assim:
[quote:a11a96ee79=´Mensagem de erro´]
[/quote:a11a96ee79]
Ainda não fica ´amigável´ como eu mesmo disse acima. Certo?
Agora, qdo vc define um exception, vc tb define qual a mensagem não define? Pq ai a mensagem tem que ser bem explicativa.
Positivo eu dei um nome:
Código:
Create EXCEPTION DELETE_PARCELAS´´
então , ´acho eu´ que ao inves de voce usar o
except on E: Exception do begin que é o erro mais geral voce deve usar este tipo de erro except on E:DELETE_PARCELAS do begin
Bom, agora deixa eu viajar. Se você deu o nome de [b:a11a96ee79]DELETE_PARCELAS[/b:a11a96ee79], teoricamente sua mensagem de excetion aparecerá mais ou menos assim:
[quote:a11a96ee79=´Mensagem de erro´]
DELETE_PARCELAS Ocorreu um erro ao executar a ação.
[/quote:a11a96ee79]
Ainda não fica ´amigável´ como eu mesmo disse acima. Certo?
Agora, qdo vc define um exception, vc tb define qual a mensagem não define? Pq ai a mensagem tem que ser bem explicativa.
GOSTEI 0
Marcos Fernando
06/07/2006
except
on E:DELETE_PARCELAS do begin
isso no Delphi claro? mais se eu colocar [b:071fcb97bf]E:DELETE_PARC[/b:071fcb97bf]ELAS no lugar do [b:071fcb97bf]E: Exception [/b:071fcb97bf]isso não me parece ter lógico pois [b:071fcb97bf]E: Exception[/b:071fcb97bf] é a messagem do erro que o delphi pega certo?
já o [b:071fcb97bf]E:DELETE_PARCELAS [/b:071fcb97bf] seria o nome da exception dentro do FireBird? mais ai não entendi...
Thanks
GOSTEI 0
Marcos Fernando
06/07/2006
Bom, agora deixa eu viajar. Se você deu o nome de DELETE_PARCELAS, teoricamente sua mensagem de excetion aparecerá mais ou menos assim:
DELETE_PARCELAS
Ocorreu um erro ao executar a ação.
fica assim:
Ocorreu um erro ao executar a ação.
GOSTEI 0
Adriano Santos
06/07/2006
[quote:a02b969f1c=´Marcos Fernando´]
fica assim:
Ahhhhh, então agora tá mais fácil. Vc usando o E:DELETE_PARCELAS o Delphi vai exibir a mensagem adivinda do banco de dados e não aparece o nome da excpetion, ai sim...fica bem legal.
fica assim:
Ocorreu um erro ao executar a ação.
[/quote:a02b969f1c]Ahhhhh, então agora tá mais fácil. Vc usando o E:DELETE_PARCELAS o Delphi vai exibir a mensagem adivinda do banco de dados e não aparece o nome da excpetion, ai sim...fica bem legal.
GOSTEI 0
Marco Salles
06/07/2006
desculpa ter te confundido.. mas como eu disse antes : ´Eu acho que´
eu pensei que a definição de uma exceção no banco pudesse gerar um tipo de erro personalizado.. com nome proprio. Mas parece que este não é o caso...
eu pensei que a definição de uma exceção no banco pudesse gerar um tipo de erro personalizado.. com nome proprio. Mas parece que este não é o caso...
GOSTEI 0
Marcos Fernando
06/07/2006
eu pensei que a definição de uma exceção no banco pudesse gerar um tipo de erro personalizado.. com nome proprio. Mas parece que este não é o caso...
exatamente um messagem personalizada que estou fazendo:
assim:
[list:3e0d326441] exception delete_parcelas(´Aqui o erro personalizado´);[/list:u:3e0d326441]
que eu faço dentro de uma SP, ou trigger
ai para cada caso eu mando gerar uma memssagem só q não consigo fazer q o delphi não me retorne ao ID do Execption conforme a imagem:
Thanks
GOSTEI 0
Marco Salles
06/07/2006
t atudo muito confuso...
mas acho que esta mensagem que voce esta obtendo não é do delhpi
coloque um BreakPoint e execute o rode usando o F9 e veja se o deplhi passa pela linha
Usei DbExpress para acessar sua base de dados e o delphi não executa
esta instrução.. Pelo menos para mim :cry: :cry: :cry:
mas acho que esta mensagem que voce esta obtendo não é do delhpi
coloque um BreakPoint e execute o rode usando o F9 e veja se o deplhi passa pela linha
on E: Exception do begin msg := pchar(´Ocorreu o segunte erro: ´+#13+E.Message); SCREEN.Cursor := crdefault; Application.MessageBox(msg,PChar(application.title), mb_DefButton2+mb_IconError+mb_TaskModal); end;
Usei DbExpress para acessar sua base de dados e o delphi não executa
esta instrução.. Pelo menos para mim :cry: :cry: :cry:
GOSTEI 0
Marcos Fernando
06/07/2006
Grato pela força...
Por o Delphi receber na primeira linha o ID do Exception do FB que preciso saber como posso tirar a primeira linha da e.message que foi a pergunta base,
se vc abrir a base pelo ibExpert e deletar um registro do banco vai ver que o Ibexpert vai formatar a mensagem do jeito que preciso,
só pra entender da string recebida no erro:
Exception 1
preciso retirar essa linha 1 para que fique assim:
que ai eu formato e passo ao usuário assim:
thanks
Por o Delphi receber na primeira linha o ID do Exception do FB que preciso saber como posso tirar a primeira linha da e.message que foi a pergunta base,
se vc abrir a base pelo ibExpert e deletar um registro do banco vai ver que o Ibexpert vai formatar a mensagem do jeito que preciso,
só pra entender da string recebida no erro:
Exception 1
Erro tal
preciso retirar essa linha 1 para que fique assim:
Erro tal
que ai eu formato e passo ao usuário assim:
Ocorreo o seguinte erro: Erro tal
thanks
GOSTEI 0
Adriano Santos
06/07/2006
[quote:0cefe550d3=´Marco Salles´]
Usei DbExpress para acessar sua base de dados e o delphi não executa
esta instrução.. Pelo menos para mim :cry: :cry: :cry:[/quote:0cefe550d3]
Onde vc jogou isso? Pq precisa ser no evento OnReconcileError do TClientDataSet, pois o DBExpress não propaga os exceções.
on E: Exception do begin msg := pchar(´Ocorreu o segunte erro: ´+#13+E.Message); SCREEN.Cursor := crdefault; Application.MessageBox(msg,PChar(application.title), mb_DefButton2+mb_IconError+mb_TaskModal); end;
Usei DbExpress para acessar sua base de dados e o delphi não executa
esta instrução.. Pelo menos para mim :cry: :cry: :cry:[/quote:0cefe550d3]
Onde vc jogou isso? Pq precisa ser no evento OnReconcileError do TClientDataSet, pois o DBExpress não propaga os exceções.
GOSTEI 0
Marcos Fernando
06/07/2006
Eu coloquei em um botão de exclusão,
Normal sempre uso assim pra capturar os erros,
[b:b405a85516]eh oque falta pro Delphi executar essa instrução que te mando???[/b:b405a85516]
thanks
var msg : pansichar; begin try SCREEN.Cursor := crHourGlass; IBTable1.Delete; SCREEN.Cursor := crdefault; except on E: Exception do begin msg := pchar(´Ocorreu o segunte erro: ´+#13+E.Message); SCREEN.Cursor := crdefault; Application.MessageBox(msg,PChar(application.title), mb_DefButton2+mb_IconError+mb_TaskModal); end; end;
Normal sempre uso assim pra capturar os erros,
[b:b405a85516]eh oque falta pro Delphi executar essa instrução que te mando???[/b:b405a85516]
thanks
GOSTEI 0
Imoreira
06/07/2006
Veja esse tópico
http://forum.clubedelphi.net/viewtopic.php?t=57672&highlight=
http://forum.clubedelphi.net/viewtopic.php?t=57672&highlight=
GOSTEI 0