bare `except` without a re-raise is *always* a bug, this will swallow keyboard interrupts and things. At a minimum should use `except Exception`

That said the fallback handling still seems weird to me. You keep putting it in so I guess you have some reason for it but I can't figure it out. It looks like `Float64Index(["a", "b"])` is an error, but `Float64Index([object(), object()])` gives a regular `Index`? Is that on purpose? Why?