On Wed, 24 Mar 2004, Eljay Love-Jensen wrote: > Hi Devrat, > > I believe it is impossible to throw out of a signal handler. Or out of any > kind of callback (e.g., X11). Any exception that hits a C-barrier will > terminate the application. > > You'll have to figure out a different mechanism to detect the signal > condition in your program. Perhaps by setting a volatile global variable > within the signal handler, and checking that global at opportune times in > your regular code. > > HTH, > --Eljay > Hi eljay, But guy, I said I compiled that code already with a throw inside of the exception handler. The compile command was given as follows: g++ test.c -g -Wall -fnon-call-exceptions What I am looking forward to is this: Java generates for example some kind of arithmetic exceptions when say "division by zero" happens in the program. Now in C++, such an exception cannot be caught in "catch" blocks. Such exceptions can only be caught inside of signal handlers. So we can just throw from within the signal handler as the program i enclosed in the post does & catch it from main (which again the program is able to.). The code works fine on my Redhat 8.0 linux box & surely does convince me that exceptions can be thrown from signal handlers & still be caught elsewhere in the code. If you dont mind, plz run the program & see what happens.(under g++ with the options -fnon-call-exceptions). I really would like to know ur comments after the run. Thanks, regards -- Devrat Mittal M.tech 2nd year Roll no. 2002301