Something like this is a sign that you _may_ want to stick with OO. Did you consider simply overriding HTTPExceptor (from httpexceptor)? That class is simply enough that overriding it is basically rewriting it (because everything happens in `__call__`) but you'll maintain some semblance of clarity.

Also, another option is to check `exc.status` instead of the exception's class name. I think that would be:

```python
if exc.status.startswith('4'):
    blah
```