Do not program defensively
erlang.se
erlang.se
It only really works if applied equally at all levels of the codebase.
It's a bit different here, as the standard way to handle things in Erlang (as I understand it) is for the function involved to crash, an error log to be made, and then the program to restart, usually seamlessly.
Linking this rule without discussion, context, or explanation is basically useless.