WOW ... dann "vertraust" du dem OS() aber ein Menge zu !
Ich traue dem OS genau das zu, was es auch können
sollte. Und ich fahre exzellent damit.
Das Laufzeitfehlersystem von Xbase++ hat den bestechenden Vorteil, innerhalb einer im Prinzip "gesunden" Applikation zu laufen. Viele Fehler kann man auch aktiv abfangen und umgehend reparieren, beispielsweise fehlerhafte Dateistrukturen, nicht selektierte Workareas aufgrund von verlorengegangenen Serververbindungen, Probleme beim Reindexieren/Öffnen von Indexen durch falsch konfigurierte bzw. überaktive Virenscanner usw. usf. Das Fehlersystem sagt im Prinzip nur: Hey, hier ist etwas, das normalerweise nicht sein dürfte - was soll ich tun? Auf eine Division durch Null, die mathematisch nicht definiert ist, reagieren wir - wahrscheinlich allesamt - dadurch, dass wir das Fehlersystem behaupten lassen, das Ergebnis wäre wiederum Null. Aber es ist
keineswegs so, dass der Aufruf des Fehlersystems bedeutet, dass die Applikation oder gar das Betriebssystem instabil wäre. Es gibt fraglos Fehlersituationen und -fälle, bei denen man sehr vorsichtig agieren muss, wozu IDSCs gehören und ein paar Dinge, die mit AX-Objekten zu tun haben. Generell aber ist der Aufruf des Fehlersystems als eine "natürliche" Reaktion auf nicht definierte Zustände zu verstehen. Ich versuche, ein Datenbankfeld zu schreiben, das nicht existiert. Ich greife auf eine Variable zu, die den falschen Typ hat. Ich habe einen Parameter an eine Funktion übergeben, der den falschen Wert hat - oder einen Parameter vergessen. Das alles ist nichts, das einen zum sofortigen Notstopp des gesamten Systems verleiten muss. Und die App läuft weiterhin. Einen vernünftigen Grund dafür, deshalb im Fehlersystem besonders sensibel zu agieren, kann ich nicht erkennen. Die Vermeidung von "intensivem Code" ist absurd und nicht begründbar. Alles ist fein - es ist nur eine Situation eingetreten, die nicht vorhergesehen war, aber alles läuft nach wie vor. Natürlich muss man "by design" vermeiden, dass das Fehlersystem wiederum Funktionen aufruft, die selbst Ursache für Fehler sein können. Aber auch das lässt sich problemlos abfangen.
Fatals sind ein anderes Problem. Die etwas haarige Idee, nach einem Fatal einfach den Rechner zu booten, erinnert mich jedoch an Zeiten, wo man noch froh war, dass die Kiste überhaupt gestartet ist. Jemanden, der mir eine solche Software verkaufen würde, würde ich sofort nach der Auslieferung verklagen.