Happy to do this but am a bit uncertain what this means in practice.  

Does one raise and instantiate like `raise ValueError(msg % ('axis', axis, a.ndim)` , ie: passing the strings into the exception ?