Re: [Flightgear-devel] try ... catch ... throw (up)
Here's what I'm doing: In the Table class: In FGTable constructor: if (operation_types.find(parent_type) == string::npos) { internal = true; } else { throw(string(An internal table cannot be ...)); } Now, this seems to work OK - I throw an exception if a situation occurs that is invalid. [snip] I'm probably missing something fundamental here. Anyone have any suggestions? Jon I am unsure it is OK to through a temporary object like this. It's created on the stack right there at the same frame where it's thrown, but IIRC, as throw unwinds the stack, it is auto-destructed. You should be throwing an object that has lifetime encompassing the outer catch handler. ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d
RE: [Flightgear-devel] try ... catch ... throw (up)
Vassilii Khachaturov wrote: I am unsure it is OK to through a temporary object like this. It's created on the stack right there at the same frame where it's thrown, but IIRC, as throw unwinds the stack, it is auto-destructed. You should be throwing an object that has lifetime encompassing the outer catch handler. Ah! Yes, that sounds correct. I'll have to go back and change my throws. Thanks, Jon ___ Flightgear-devel mailing list Flightgear-devel@flightgear.org http://mail.flightgear.org/mailman/listinfo/flightgear-devel 2f585eeea02e2c79d7b1d8c4963bae2d