Exception is an error that occurs during program execution, disrupting the normal flow of instructions. When an exception is thrown, it must be caught and handled, otherwise the program will terminate abruptly.
"I spent all day debugging that exception only to realize I forgot to update the API endpoint after the recent Sprint," grumbled the senior engineer as he refactored his code for the third time that week.
The new hire nervously approached the tech lead and stammered, "I keep getting this exception when I try to deploy to the staging environment, but I have no idea what's causing it... I'm afraid to ask for help again after my last PR got roasted in code review."
Martin Fowler discusses strategies for handling non-deterministic exceptions in testing, such as wrapping system clocks and using resource pools, in his article on NonDeterminism.
The Presentation Domain Data Layering architecture pattern can help modularize applications and encapsulate exception handling within appropriate layers like the domain logic or data access.
Published Interfaces are an important consideration in API design for managing change and avoiding unintended exceptions when interfaces are modified.
Note: the Developer Dictionary is in Beta. Please direct feedback to skye@statsig.com.