[Coin-discuss] Bounds Checking

Lou Hafer lou at cs.sfu.ca
Thu Jul 29 17:58:49 EDT 2004


Joeseph,

	For dylp, if you build it with -DPARANOID, it will do extensive
checking. One of the goals for dylp with the paranoid build was that it never
die without telling you what went wrong. It comes pretty close. The standard
build for COIN/OSI is an optimised build in which virtually all checks
(including bounds checks) are simply not present.

	OsiDylp throws the occasional exception, but the OSI standard doesn't
really pin down the conditions where an OSI should throw an exception.

	Graceful recovery is another issue entirely. John's question (``What
do you want?'') is apropos. Even more so, perhaps, is ``What do you want to
do when notified of a problem?'' The present COIN exception structure is
human-oriented --- textual messages, rather than codes. Taking your example
in another direction, suppose that a solver returned you a code that said, in
effect, ``you've just accessed a non-existent column.'' Could you do anything
useful within the program? Or do you simply want a human-oriented message?

	I'd like to see more discussion in this area. My sense is that people
have widely divergent views of what constitutes graceful failure and robust
error recovery.
	
						Lou




More information about the Coin-discuss mailing list