Ah good point, we would likely want it to behave the same way as providing an obviously unsuitable value (i.e. passing it through to src_cube to play ball or fall-over rather than silently carrying on.

```Python
>>> iris.util.cube_newaxis(cube, 0)
<iris 'Cube' of unknown / (unknown) (*ANONYMOUS*: 1; latitude: 3; longitude: 4)>
>>> iris.util.cube_newaxis(cube, 'bill)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/h05/cpelley/git/iris/lib/iris/util.py", line 1067, in cube_newaxis
    scalar_coord = src_cube.coord(name=scalar_coord)
  File "/home/h05/cpelley/git/iris/lib/iris/cube.py", line 1180, in coord
    raise iris.exceptions.CoordinateNotFoundError(msg)
iris.exceptions.CoordinateNotFoundError: 'Expected to find exactly 1 bill coordinate, but found none.'
```

Cheers