Programming approach that focuses on handling unexpected actions and exceptions, providing meaningful context and unambiguous messaging when exceptions occur, and gracefully failing to the safest program state when errors and exceptions can't be rectified.
- Teacher: Jonathan Baquet