Fehlermeldung abfangen



  • Wie kann ich im Programm erkennen lassen, ob ein Fehler von DOS auftritt ? Ich möchte dann nämlich ein Autosave einleiten, bevor sich das Programm durch den Fehler beendet.



  • Kannst du "einen Fehler von DOS" ein bisschen Spezifizieren?

    Ich versuchs trotzdem mal:

    Wenn du unter DOS bist (ich nehme an da gibts noch kein schönes exception handling vom OS aus ;)) musst du wahrscheinlich den Interrupt fangen, der den Fehler behandeln soll...(wenn du allerdings jetzt im Interrupt auhc noch nen Fehler baust hast du Spaß mit ner double Exception ;))

    Unter WinDOS (also Konsole) bzw. Linux sollte es eine API geben um einen ExceptionHandler einzufügen der anstatt bzw. vor Programmkill aufgerufen wird vom OS...



  • Ich möchte zum Beispiel, dass wenn der Fehler divide by zero auftritt, das Programm nicht mit der Fehlermeldung abschmiert. Oder das wenn auf das Laufwerk nicht geschrieben werden kann, dass sich dann nicht DOS einschaltet mit der Nachricht, sondern dass ich selber da Code ausführen lassen kann.



  • Also ein Division by Zero ist soweit ich weiß eine CPU-generierte Exception, da musst du dir den Interrupt suchen, eine iegene Behanldungsprozedur schreiben und einsetzen...das zweite mit dem Laufwerk fällt wohlo eher in die Runtime-Library, da musst du wohl im Kompilat die genaue Stelle suchen, wo dorthin gesprungen wird und da "patchen"



  • Kann man in C keine Benutzerprozedur vor die Fehlerbehandlungsroutinen der Libraries (die das Programm dann meist mit ner Message beenden) setzen? 😕 Das ging selbst in Q-Basic, wenn ich mich recht entsinne...



  • Meinst on error goto next? 😉
    Hängt sicherlihc ganz von der RTL ab


Anmelden zum Antworten