Board index » cppbuilder » Exception call stack

Exception call stack


2004-02-18 06:33:06 AM
cppbuilder64
Hi:
Little confused. Anyone point me to something that would explain?
In connecting to dial up, com failed and exception call stack:
CheckException($1D7D51C,-4003)
TApdCustomModem.CancelDialAnswer
TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click
After I continued, another exception call stack:
TApdBaseDispatcher.PutChar('A')
ModemPutXlatStr($1D96D50,'+++~~~ATH0^M')
mPutModemCommand($1D96D50,'+++~~~ATH0^M')
mHangupModem($1D96D50)
TApdCustomModem.Hangup
TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click
I a confused aboust this part:
TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click
duplicated.
Are there two distinct paths of execution associated with this?
 
 

Re:Exception call stack

These are 2 different call stacks - both exceptions happen in
TApdCustomModem.HandUpModem, one in CancelDialAnswer, second in Hangup. Your
exception handler shows call stacks for every exception.
For example:
function Func1()
begin
raise Exception.Create('...');
end;
function Func2()
begin
raise Exception.Create('...');
end;
function Test()
begin
try
Func1();
except
end;
Func2();
end;
In this case (when you call Test function) call stack for first exception
will be
Test
Func1
for second
Test
Func2
//------------------------------------------
Regards,
Vassiliev V. V.
www.managed-vcl.com - using .Net objects in Delphi for Win32 +
ADO.Net
www.oledbdirect.com - The fastest way to access MS SQL Server,
MS Jet (Access) and Interbase (through OLEDB)
"MrT" < XXXX@XXXXX.COM >???????/???????? ? ???????? ?????????:
Quote
Hi:

Little confused. Anyone point me to something that would explain?


In connecting to dial up, com failed and exception call stack:


CheckException($1D7D51C,-4003)
TApdCustomModem.CancelDialAnswer
TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click

After I continued, another exception call stack:


TApdBaseDispatcher.PutChar('A')
ModemPutXlatStr($1D96D50,'+++~~~ATH0^M')
mPutModemCommand($1D96D50,'+++~~~ATH0^M')
mHangupModem($1D96D50)
TApdCustomModem.Hangup
TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click

I a confused aboust this part:

TfrmMain.HangUpModem
TfrmMain.CancelBtnClick($1019444)
TControl.Click

duplicated.

Are there two distinct paths of execution associated with this?

 

Re:Exception call stack

Hi:
Thanks. Sorry I posted in cpp forum. Gad!!
Viatcheslav V. Vassiliev wrote:
Quote
These are 2 different call stacks - both exceptions happen in
TApdCustomModem.HandUpModem, one in CancelDialAnswer, second in Hangup. Your
exception handler shows call stacks for every exception.

For example:

function Func1()
begin
raise Exception.Create('...');
end;

function Func2()
begin
raise Exception.Create('...');
end;

function Test()
begin
try
Func1();
except
end;

Func2();
end;

In this case (when you call Test function) call stack for first exception
will be

Test
Func1

for second

Test
Func2

//------------------------------------------
Regards,
Vassiliev V. V.
www.managed-vcl.com - using .Net objects in Delphi for Win32 +
ADO.Net
www.oledbdirect.com - The fastest way to access MS SQL Server,
MS Jet (Access) and Interbase (through OLEDB)

"MrT" < XXXX@XXXXX.COM >???????/???????? ? ???????? ?????????:
news: XXXX@XXXXX.COM ...

>Hi:
>
>Little confused. Anyone point me to something that would explain?
>
>
>In connecting to dial up, com failed and exception call stack:
>
>
>CheckException($1D7D51C,-4003)
>TApdCustomModem.CancelDialAnswer
>TfrmMain.HangUpModem
>TfrmMain.CancelBtnClick($1019444)
>TControl.Click
>
>After I continued, another exception call stack:
>
>
>TApdBaseDispatcher.PutChar('A')
>ModemPutXlatStr($1D96D50,'+++~~~ATH0^M')
>mPutModemCommand($1D96D50,'+++~~~ATH0^M')
>mHangupModem($1D96D50)
>TApdCustomModem.Hangup
>TfrmMain.HangUpModem
>TfrmMain.CancelBtnClick($1019444)
>TControl.Click
>
>I a confused aboust this part:
>
>TfrmMain.HangUpModem
>TfrmMain.CancelBtnClick($1019444)
>TControl.Click
>
>duplicated.
>
>Are there two distinct paths of execution associated with this?
>



 

{smallsort}