One of the worst things about embedded development (especially in C) is
receiving a return value of -1
or unknown_error
from a function, with no
other information about why the failure took place. It provides no information
about where the error bubbled up from!
This is a companion discussion topic for the original entry at https://interrupt.memfault.com/blog/defensive-and-offensive-programming