On Thu, 9 Jun 2005 11:08:58 UTC, "nrhayyal" <na************@satyam.com>
wrote:
thanks michiel for ur instant reply and thanks to "Me" for ur instant
reply also.
i have a catch(...) in my program ,but still its not caught in that
block.
let me explain the problem by putting few more details.
suppose if i have a program p1 which has main().
in p1 i have different types of catch blocks along with catch(...)
in the try block of p1, i am calling one of the functions of p2, in p2
i am calling p3 func(), in p3 i am calling p4 func() and so on upto
p10.
all these p2-p10 are programs.
these programs are built and kept it as library functions , assume
p2.a, p3.a .....p10.a.
all these libraries are linked in the makefile of p1 and p1 is now my
executable( or binary file u can say).
i have no try-catch block in any of these libs.
i have only throw statements in all these libs.
so when an exception is thrown from p10.a library...... it is supposed
to be caught in any of the catch blocks in p1. if not it should be
caught atleast in catch(...).
But in my module the thrown exception is not at all caught , instead of
which i am getting coredump.
i hope the problem is clearer now.
i am using gcc-3.3.2 on AIX5.2.
please let me know solution.
thanks again to all of u friends.
thanks & regards
Nagaraj Hayyal
You might want to check out the organization of your program and
the underlying libraries and check for threads that you don't know
/realize that are being created. It may be that your application
only appears to be monolithic and handled by the catch(...) in
your main code. Each new thread/fork will require a new try/catch
mechanism to be effective.
What does the coredump indicate your problem is? Are you perhaps
getting some other kind of exception?
What trace mechanism do you have besides the primary interface?
Do you know what user/data actions cause the problem? Do your
applications have some way of tracking the progress of activity.
It helps you in finding evidence that Px started and never finished.
You can then investigate the possibility that it contained the error.
David