I'd prefer to see this separated out, since we have a bare `except` here that could hide the true cause of the error.

```
        value = np.array(value, dtype=dtype, copy=copy)
        if not (value.dtype.kind not in 'OSU' or
                    value.dtype.kind == 'O' and
                    isinstance(value.item(() if value.ndim == 0 else 0),
                               numbers.Number)):
            raise TypeError("The value must be a valid Python or "
                            "Numpy numeric type.")
```