The first patch
- moves the exception definitions to a new header (IMP/exception).
log.h includes this so no other headers have to change directly. As a
side effect, exceptions are no longer exported to python. We can
revert this easily enough
- adds a IMP::Exception base class for all exceptions which stores a
string and implements what() so the the string is passed to python
- all exceptions (except ErrorException) now require a string (or
const char*) in their constructor so that python gets the message
- adds a ValueException to thrown when you have out of range values. I
was throwing other more awkward ones before
the second patch cleans up comments in the movers and adds methods to
set the radius/standard deviation.
As a side note, don't we want IMPDLLEXPORT on Linear? As it is, you
end up with two separate copies of the class, on in libimp and one in
_IMP. Not catastrophic, but probably not what we want. Such a problem
appears to be catastrophic with exceptions :-)