Programmausnahmen können nur automatisch vom jeweiligen Pascal-Laufzeitsystem ausgelöst werden.
Delphi
Auslösen einer Programmausnahme:
RAISE ausnahme.Create(mitteilung);ausnahme bezeichnet einen Objekttyp, der von der Objekttypklasse Exception abgeleitet wurde.
ausnahme kann sowohl eine vordefinierte als auch eine
nutzerdefinierte Ausnahme sein.
Eine nutzerdefinierte Ausnahme kann wie folgt definiert werden:
TYPE ausnahme = CLASS ( Exception );Das Modifizieren der von Exception geerbten Ressourcen ist im Normalfall nicht notwendig.
Exception = CLASS(TObject)
PUBLIC
CONSTRUCTOR Create(CONST Msg: STRING);
...
PROPERTY Message: STRING;
...
END;
Anstelle von Exception kann ausnahme auch von einem
Subtyp von Exception abgeleitet werden. Beispiel:
TYPE password_exception = CLASS(Exception);
IF password <> correct_password THEN
RAISE password_exception.create('Ungueltiges Passwort eingegeben');
Siehe auch:
Pascal++
Auslösen einer Programmausnahme:
CAUSE ausnahmeausnahme bezeichnet ein Objekt (Objektinstanz) vom Typ ExceptionType.
ausnahme muß zuvor als Variable vom Typ ExceptionType vereinbart worden sein:
VAR ausnahme : ExceptionType := New(ExceptionType);Wichtig ist, daß mit Hilfe von New eine Objektinstanz erzeugt wird.
Beispiel:
VAR password_exception : ExceptionType := New(ExceptionType);
IF password <> correct_password THEN
CAUSE password_exception;