/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
Exception...
Fra : Michael Vilhelmsen


Dato : 31-10-05 12:32

Hej

I mit program (lavet i D5, ent) tager jeg selv hånd om nogle exceptions. Eller prøver på det...

Men jeg har nogle problemer med at finde ud af, hvilken slags exception det er ...

Jeg har lavet en procedure som:

procedure TfrmMain.AppException(Sender: TObject; E: Exception);
begin
if (E is EIBError) then
begin
CallError2('UKENDT DATABASE FEJL !',E.Message,'','','','',(E as EIBError).SQLCode,(E as EIBError).IBErrorCode,(E as EIBError).HelpContext,TRUE,DMTIB.IBTransaction1);
end
else if (E is EAccessViolation) then
begin
Application.ShowException(E);
Application.Terminate;
end
else
begin
Application.ShowException(E);
end;
end;

Som jeg bruger i mit program.
Men jeg har et par steder, hvor jeg har oplevet, at jeg på en SQL query har henvist til et felt, som ikke findes.
F.eks.

MinInteger := MyQuery.FieldByName('FELT').AsInteger

Hvor FELT ikke findes .... Jeg ved ikke hvilken slags exception den udløser, men den kommer i hvert fald ind i ELSE delen i ovenstående procedure.

Så jeg kunne da godt tænke mig, at mit program kunne skrive til mig, hvilken slags exception det er....

Michael

--

Best Regards / Venlig hilsen
Michael Vilhelmsen
This is an automatic signature of MesNews.
Site : http://mesnews.no-ip.com



 
 
Christian Iversen (31-10-2005)
Kommentar
Fra : Christian Iversen


Dato : 31-10-05 12:45

Michael Vilhelmsen wrote:

> Hej
>
> I mit program (lavet i D5, ent) tager jeg selv hånd om nogle exceptions.
> Eller prøver på det...
>
> Men jeg har nogle problemer med at finde ud af, hvilken slags exception
> det er ...
>
> Jeg har lavet en procedure som:
>
> procedure TfrmMain.AppException(Sender: TObject; E: Exception);
> begin
> if (E is EIBError) then
> begin
> CallError2('UKENDT DATABASE FEJL !',E.Message,'','','','',(E as
> EIBError).SQLCode,(E as EIBError).IBErrorCode,(E as
> EIBError).HelpContext,TRUE,DMTIB.IBTransaction1);
> end
> else if (E is EAccessViolation) then
> begin
> Application.ShowException(E);
> Application.Terminate;
> end
> else
> begin
> Application.ShowException(E);
> end;
> end;
>
> Som jeg bruger i mit program.
> Men jeg har et par steder, hvor jeg har oplevet, at jeg på en SQL query
> har henvist til et felt, som ikke findes. F.eks.
>
> MinInteger := MyQuery.FieldByName('FELT').AsInteger
>
> Hvor FELT ikke findes .... Jeg ved ikke hvilken slags exception den
> udløser, men den kommer i hvert fald ind i ELSE delen i ovenstående
> procedure.
>
> Så jeg kunne da godt tænke mig, at mit program kunne skrive til mig,
> hvilken slags exception det er....

Prøv i den sidste else at tilføje

Application.ShowMessage(E.ClassName);

--
| Christian Iversen | For years they would say "throw another |
| chrivers@iversen-net.dk | log on the Jeff" |


Finn Bindeballe (31-10-2005)
Kommentar
Fra : Finn Bindeballe


Dato : 31-10-05 13:40

hej


Du kan jo ogsaa sætte et breakpoint, og saa køre pilen hen over, og kan
du se hvad det er for en sjover....

/F

Søg
Reklame
Statistik
Spørgsmål : 177435
Tips : 31962
Nyheder : 719565
Indlæg : 6408016
Brugere : 218879

Månedens bedste
Årets bedste
Sidste års bedste