[Ipopt] Catch (...) statements in Ipopt

David Wilkinson xyz-coin at effisols.com
Sat May 13 06:47:35 EDT 2017


I have a Bonmin/Ipopt client application that (rightly or wrongly) uses C++ 
exceptions for flow control in abnormal situations. In some of these situations, 
the exception is getting caught by catch (...) statements in 
Ipopt::IpoptApplication. The content in some (but not all) of these catch (...) 
statements is protected by a variable rethrow_nonipoptexception_, but this 
variable is hard-wired to be false, and so cannot be used to change behavior 
without modifying source code.

Suggestion:

The content of all occurrences of catch (...) in Ipopt::IpoptApplication should 
be protected by this rethrow_nonipoptexception_ variable, and its  value should 
be controllable by a preprocessor symbol.

There are examples of catch (...) statements in other parts of COIN-OR (Bonmin 
and Clp) that are not harmful to my client application, but perhaps these should 
also be protected in a similar manner.

Thanks,

David Wilkinson


More information about the Ipopt mailing list