well, the error message is fixed if it's an error because of a missing module, i.e. "No module named..." (which is what we're checking for below)

I'm a bit reluctant to start defining custom exceptions, because that's a whole new world of pain (and I'm not sure it has a lot of benefit)