> 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

Reply via email to