Transportfehler, Befehlsfehler und Formatfehler nicht als leere Liste verbergen.
Zwischen Anwendung und Systembefehl liegt eine Grenze. Der Prozess kann nicht starten, er kann mit einem Fehlercode enden, oder seine Ausgabe kann das erwartete Schema verletzen. Diese Fälle unterscheiden sich von einer erfolgreich ermittelten leeren Liste. Bewahre daher Exitcode und einen begrenzten Diagnosekontext, bevor du fachliche Daten zurückgibst. Für lang laufende Prozesse gehört außerdem ein Zeitbudget in den Aufrufvertrag. Der aufrufende Teil sollte anhand einer klaren Fehlerart entscheiden können, ob eine Wiederholung sinnvoll ist.
Ein Beispiel
Im Lehrmodell liefert read_storage entweder items=[...] oder eine Fehlerart wie command_failed beziehungsweise invalid_output. Der Fehler ‚Befehl nicht vorhanden‘ wird nicht in items=[] verwandelt. Eine leere erfolgreiche Liste bleibt als eigener Fall möglich.