As has been said before, halting execution is safe. It is continuing execution in an unexpected state that is potentially unsafe.
The idea of a "lenient" subscript has been discussed at length and you can review the existing conversations over the past decade using the search function. As an example:
When resurrecting ideas such as this with an extensive history, it is helpful to the community if you can take some time to summarize existing contributions in such a way that the conversation doesn't end up as a rehash: after all, if the goal is to make progress, repeating the same things won't get us there.