1. 14
  1.  

  2. 3

    Somewhat related, at the opposite end of the spectrum: https://en.wikipedia.org/wiki/Crash-only_software

    1. 2

      I remember something similar about git. If git encounters an error somewhere, it prints a message and does something like exit(1). This is fine for command line applications.

      Then people tried to turn the core git functionality into a library. For a library this is not fine and it required a lot of refactoring.

      1. 1

        To be fair, it also makes in-process automated tests harder.

    2. 3

      This article comes at a great time for me. I accidentally did exactly what Chris did, just a few days ago. It wasn’t quite that painful, but still embarrassing. I have planned to install safeguards to prevent unintentional shutdown, but that might be the wrong way to approach it. Will think again. Cheers!