Como pegar o Código do Erro de um exception?
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.
E para conseguir o Código do erro?
Grato.
Del
Curtidas 0
Respostas
Beppe
06/07/2005
Se 12 é o código deste erro, seria StrToInt(Copy(E.Message, 5, 4));
GOSTEI 0
Del
06/07/2005
[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]
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]
GOSTEI 0
Beppe
06/07/2005
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;
GOSTEI 0
Del
06/07/2005
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.
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.
GOSTEI 0
Beppe
06/07/2005
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.
GOSTEI 0