Currently, wfLoadExtension( 'NonExistingExtension' ) break the site with a fatal error:
23:51:41 < Vito> PHP fatal error /srv/mediawiki/php-1.28.0-wmf.3/includes/GlobalFunctions.php line 115:
23:51:41 < Vito> /srv/mediawiki/php-1.28.0-wmf.3/extensions/SpamBlackList/extension.json does not exist!
To know this information could have been enough, we probably could still have served queries during the 101 seconds this incident occurred, without the extension.
Technically in the code, we could detect if $IP/extensions/<extension name>/extension.json exists before to try to include it and skip the extension load if it doesn't exist.
A missing extension condition must be known.
This need a mechanism to report loudly the missing extension.
For WMF, this means plug with existing reporting and notification systems like Logstash.
For smaller deployments, this is a good question. Some software prints visual cues. For example, Phabricator prints a small bar at the top of the screen for administrators to identify "Setup issues". But we don't have a system administrator group for such purpose. Allow to interact with existing log report and notifications systems could be valuable.
Some wikis could require an extension for security reason: for example, they could use an extension to make it or some part of it private. They are so currently protected by this fatal error.
We could offer them the same level of security, adding in the configuration an array with the list of required extension, and serve a fatal error at this moment if the critical security extension isn't loaded at the end of the registration process.
This is mostly intended for extensions exposing personal information if missing, not "very nice to have" antispam features.