c++linuxexception

terminate called recursively


As far as I know, terminate() is called when there is some problem with exception handling(usually it's just not caught). What I got is just one error line terminate called recursively.

After googling for some time I found a lot of examples of

terminate called after throwing an instance of ... terminate called recursively

But it's not my case. As I don't have this hint about the exception type, I'm wondering what does this terminate called recursively mean by itself.

Sorry I can't provide the code, so any guess will be helpful. I'm compiling with g++ 4.5.2 under Ubuntu 11.04.

Thanks a lot, Alex.


Solution

  • Could be that some code throws an exception you don't catch, which means terminate will be called. Terminating the program means that object destructors might be called, and if there is an exception in one of them then terminate will be called "recursively".