Expect the unexpected

Software developers need to “expect the unexpected”. Services fail… networks go down… disks fill up… developers make mistakes. We need to be cognizant of what can go wrong, and decide how to deal with it.

Which approach to handling error conditions is appropriate depends entirely on the error and the system. Making the right call is key to building a reliable system.

The most egregious approach is to catch & ignore errors.Actively hiding errors and blithely carrying on inevitably causes consequential errors which can be incredibly hard to understand.

In behind-the-scenes systems, failing “hard and fast” on even the smallest unexpected circumstance is the best option. A build system that “tries to keep going” is poison for building reliable software…

In user facing cases, catching errors, logging them and failing out of a particular piece of work is quite appropriate - users these days are very familiar with “sorry, something went wrong!”, and partial degradation of service is better than complete failure. But make sure someone is responsible for triaging these issues & fixing them!

Identify error conditions, apply an approach thoughtfully & move on. Don’t bury your head in the sand.

© 2021 Pixiotix (ABN 56490051669) - All Rights Reserved