Programmiersprache Pascal

Auslösen einer Ausnahme

Standard Pascal, Extended Pascal

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.
Create legt eine Objektinstanz vom Typ ausnahme an, deren Aufgabe es unter anderem ist, die den Text mitteilung auszugeben.
Anstelle von Create kann auch ein anderer Konstruktor mit ähnlicher Wirkungsweise verwendet werden.

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 ist ein vordefinierter Objekttyp:
  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:
Erneute Auslösung einer Ausnahme


Pascal++

Auslösen einer Programmausnahme:

  CAUSE ausnahme
ausnahme 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;


P. Böhme, 28.08.1996