Handling underlying exceptions in ExtensionArrayOpsMixin
I'm growing to dislike the try / except to wrap the results of a binop. That's what hid #22930.

I wonder, is it possible for EA authors to annotate which ops form an algebra for their Extension type, so that we can know ahead of time whether the result should be wrappe? Something like

```
_ops_return_ea = {
    '__add__', '__sub__', ...
}
```

and if the op name is in those, then we attempt to wrap the result, but don't catch any errors? If the op name isn't in those then we return an ndarray?

The thing that would ruin this is if there were legitimate cases where whether or not the result can be wrapped depends on the value, rather than the type. Can we think of any of those?

cc @Dr-Irv 