Good habit always adding failsafe / validationchecking?

When I started out with programming, I have always seen people putting validation checks everywhere, so no errors would appear if the given object is invalid. Example: IsValid nodes / Impure Cast nodes. The problem I see is, if the object would technically be invalid, there would be no indicator that it is, the code would just not execute without any error or warning: So I would rather have errors popping up than nothing happening and following the strings until I find the culprit. Is there any proper convention that I have missed?

That would be bad coding then :slight_smile:

If you have nothing on the fail branch of a cast, and it’s possible the cast would fail, you should deal with the fail case.