All exceptions thrown by CoCoALib are of a type derived from CoCoA::exception.
An object of type CoCoA::exception contains just 2 fields: a message and
a context (which may be empty). The intention is that the message
indicates what caused the exception, while context may indicate where
the exception was thrown from.
Note that CoCoA::exception does not derive from std::exception.
There are two constructors:
exception(mesg) specify the message but no context
exception(mesg, where) specify the message and a context
Let E be an object of type exception
message(E) gives the message inside E as a std::string
context(E) gives the context info inside E as a std::string
The class is very simple: it contains just two string data members, and two accessor functions.
Is it better to use std::string or plain C strings?
2015