Anregungen und Vorschläge zu PROFAN
Hier können Vorschläge für künftige PROFAN-Versionen, Ausgestaltung der PROFAN-Seiten und -Foren, etc. gemacht werden.
  Suchen
 Zurück zur Übersicht
 AutorThema: ExceptionErrorHandling
Stefan Schnell
Datum:14.06.02 11:39 Antwortenals Email verschicken (mail@stschnell.de) 


Hallo Community,
folgenden Vorschlag möchte ich für das Abfangen von Exceptions und Laufzeitfehlern in Profan machen. In Delphi wird ein Konzept von Try - Finally - Exception verwendet, das sieht so aus:

Function IntTest(i, j : Integer) : Integer; StdCall;
Begin
Try
IntTest:=i+j;
Finally
{Hier Ende, wenn notwendig}
Except
IntTest:=-1;
End;
End;

Das reservierte Wort Try leitet einen geschützten Block ein. Innerhalb dieses geschützten Blockes werden Exceptions abgefangen, damit das Programm mit einer eigenen Ausnahmebehandlung reagieren kann. Nach dem Auftreten eines Exception geht es direkt am reservierten Wort Except weiter. Das bedeutet, dass die Routine direkt verlassen wird. Damit dies nicht dazu führt, dass Resourcen wie dynamischer Speicher oder Datei-Handles nicht wieder freigegeben werden, kann die Routine mit einem Finally-Block abgeschlossen werden. Die Besonderheit des Finally-Blocks besteht darin, dass er in jedem Fall ausgeführt wird, also auch, wenn kein Exception auftritt. Das reservierte Wort Except schlie§t den geschützten Block und leitet die Ausnahmebehandlung ein. Tritt ein Fehler auf, so wird das Resultat der Funktion Int Test in diesem Fall auf -1 gesetzt. Mit einem End wird der Block insgesamt abgeschlossen.

Was haltet Ihr davon? Kann man das auch so in Profan realisieren?
Tschüss
Stefan


Eric Eggert
Datum:14.06.02 20:48 Antwortenals Email verschicken (webmaster@yatil.de) 


Hallo Stefan,
ich, persönlich, habe soetwas in Profan² noch nicht gebraucht kenne aber die Anwendung in Delphi und denke, dass eine Try-Except-Konstruktion nur bei Grenzfällen nötig ist.

Ansich ist soetwas natürlich nicht verkehrt, weiß aber nicht in wieweit das einprogrammiert werden könnte.

MfG, Eric Eggert


Sven Schmidts
Datum: 14.06.02 21:00 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Try..Except macht durchaus Sinn, bei C heisst das "Catch". Wenn man davon ausgeht, dass ev. ein Fehler auftaucht, dann ist es sehr sinnvoll, um eine Aufgabe mit Sicherheit zu beenden. Man kann Exceptions auch in der Programmierung nutzen, was aber nur bei OOP Sinn macht: Exceptions werden von einer Sub-Unterklasse erzeugt und gelangen so an die Application.

Lange Rede, kurzer Sinn: Finde ich ebenfalls sehr gut ;)

Sven


 Zurück zur Übersicht
 

 Ein kostenloses WebMart Forum
WebMart Homepage Tools kostenlos
doteu.info: Don´t miss your .eu-Domain