Fatal Error führt nicht zu Fehlermarkierung?

Ich habe ein Skript, welches regelmäßig ausgeführt wird und das Alter der Backups auf meiner NAS prüft und mir eine Mail schickt, wenn ein Backup zu alt ist. Dient mir als Sicherheitsprüfung - wenn irgendwo mal wieder was still und heimlich kaputt gegangen ist und deswegen Backups nicht mehr laufen.

Dazu wird teilweise durch die Ordnerstruktur hindurch gelaufen, unter Einsatz von u.A. dem Befehl ftp_nlist. Da allerdings bei den IPS-Backups im Datenbankordner eine sehr große Anzahl Dateien liegt, brach der Befehl dort kürzhlich ab mit einem Fatal Error, weil zu viel Speicher allokiert werden sollte. Dies ließ sich nicht per try-Block abfangen, ist wohl so bei dieser Fehlerkategorie.

Das Problem ist gar nicht der Fehler selbst, sondern eher die Tatsache, dass ich ihn nicht bemerkt habe. Ich prüfe nämlich auch regelmäßig per Skript, ob irgendwelche Skripte die Markierung „fehlerhaft“ haben. Dies war leider nicht der Fall. Also ist meine Sicherung, dass Backups nicht silent failen, silent gefailt.

Ich könnte nun einen Watchdog für den Watchdog (sozusagen) bauen, aber ich frage mich zunächst, warum ein Fatal Error nicht zur Markierung des Skripts als fehlerhaft führt.