This is a form of memory protection - Macs have it, and use it. It runs all the time, and Win95 does not have it on 16bit apps, and it is often not used on 32bit apps. This is a form of memory protection and Macs do it. The most common error is for a programmer to access memory location 0, because they forgot to set something. Macs do this.
Programmers can often make calls to the system with bad parameters.
Think of mailing an ink bomb to your neighbor artist. Ink all over his work. WinNT does some parameter validation but Win95 does not. Macs have it as a debugging tools for developers, but do not do run-time validation. System globals and variables.