A start at standardising error handling
Using new error handling
Using new error handling
Don't need logging here
Adding `new`s.
Adding another `new`
Merge pull request #252 from andrewhayward/error-handling

Merging error handling, with the caveat that @stenington will fix the tests that this will break.