Originally Posted by
Elysia
I think you are misunderstanding its suggested purpose here.
The suggestion was that it should be a second layer defense. That is, if for some reason, you make a programming error, instead of getting undefined behavior, you can catch the exception and prompt an "internal error," or the like.
(Plus a user would likely be less annoyed if they get an internal error rather than a crash or the entirely wrong results!)
It was not suggested you should use it to check if an element was there or not. The way you are using now is fine.