GARANTIR DESCONTO

Fórum Como pegar o Código do Erro de um exception? #287287

06/07/2005

0

Quanto executo uma ação, por exemplo um update e retorna um erro, consigo a mensagem da exception (e.message). Ex: ´ORA-0012 .....´
E para conseguir o Código do erro?
Grato.


Del

Del

Responder

Posts

06/07/2005

Beppe

Se 12 é o código deste erro, seria StrToInt(Copy(E.Message, 5, 4));


Responder

Gostei + 0

08/07/2005

Del

[b:4235225d5e]Obrigado,
Mas gostaria de pegar o código do erro, sem usar Copy().
Se der um erro em outro formato, por exemplo ´ORA-002´ ou ´SQL-992399´ nao vai funcionar.
Se alguém souber como...
Grato.[/b:4235225d5e]


Responder

Gostei + 0

08/07/2005

Beppe

Com Copy ainda é mais fácil, se o código começar sempre na posição 5 da string:
var
  V, E: Integer;
begin
  Val(Copy(Edit1.Text, 5, MaxInt), V, E);
  Caption := IntToStr(V);
end;



Responder

Gostei + 0

09/07/2005

Del

Pôxa, valeu mesmo a intenção.
Mas acho que me expressei mal.

Existe alguma forma de tratar a Exception para retornar um erro, seja ele do oracle, windows, sql....?

Existe E.Message. (E: Exception)
Gostaria de saber se há alguma coisa do tipo E.Number (como há no vb).


Muitíssimo obrigado.


Responder

Gostei + 0

09/07/2005

Beppe

O Delphi não exige que cada exceção tenha um número. O Windows passa um, e este é possível obter, com (E as EWin32Error).ErrorCode, desde que a exceção seja uma exceção do Windows. No caso de DBs, acho que só da maneira como já havia respondido.


Responder

Gostei + 0

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

Aceitar