It’s safe to depend on the order of conditionals (Python reference here), specifically because of the problem you point out – it’s very useful to be able to short-circuit evaluation that could cause problems in a string of conditionals.
This sort of code pops up in most languages:
IF exists(variable) AND variable.doSomething()
THEN ...