Parachutes
When you’re writing software in a managed environment (like a virtual machine) and you crash, there is a layer to handle that crash. With enough provided context, it will tell you information about what happened.
When writing software “closer to the metal”, you’re still running on top of an operating system. It will also report some information back in the case of a crash, at the very least an exit code.
You can also hook into crash handlers, which include signals and exceptions. Crash reporting libraries like Chromium Crashpad set up their own process to handle a crash once it comes in.
A parachute is a technique to pre-allocate (on the heap or stack) resources so when something goes wrong, you have the resources available to gather information and report about it. It seems like this is a forgotten term, at least on the internet. Code Complete called this a memory parachute, and it’s also been referred to as a rainy day fund.
Do you know of any modern versions of this metaphor?