Thanks. Six years of writing C++ and I was not aware of that. Just to clarify, set_terminate() is an additional separate mechanism unrelated to and somewhat parallel to throw and catch?
Charles -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of David Crayford Sent: Friday, June 17, 2016 5:40 AM To: [email protected] Subject: Re: What causes a Signal 3? On 17/06/2016 1:23 PM, David Crayford wrote: > > > On 17/06/2016 1:12 PM, Jack J. Woehr wrote: >> Charles Mills wrote: >>> But there are no explicit calls to either abort() or >>> terminate() anywhere in the source code. >> abort() is called on an unhandled exception. >> >> http://www.cplusplus.com/reference/exception/set_terminate/ >> > > That's the most likely cause, most probably thrown by the standard > library. It's not a bad idea to setup your own set_terminate handler > with a ctrace() to generate a stack trace to see where that's > happening. > That's not good advice. abort() will dump and give you a better result. My theory was that the handler would catch the thrower and create a stack trace. It doesn't! ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
