I personally like to reduce the amount of code that's within a `try statement`. consider something like this:

```python
try:
    do_addnewversion(args[0], args[1])
except IndexError:
    raise CommandError(self.help)

msg = 'Adding %s to %s' % (args[1], args[0])
self.log.info(msg)
self.stdout.write(msg)
```
you could use a `try`/`else`, but since you `raise` in your `except`, it's fine.