Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ exceptions(3-thr) — Reliant UNIX 5.44c4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

exceptions(3-thr)                                         exceptions(3-thr)

NAME
     exceptions - Ausnahmebehandlung in DCE Threads

BESCHREIBUNG
     DCE Threads bietet die folgenden beiden Möglichkeiten, Informationen
     zum Status einer Threads-Routine zu erhalten:

     -  Die Routine gibt einen Statuswert an den Thread zurück.

     -  Die Routine setzt eine Ausnahmebedingung ein.

     Bevor Sie ein Multithread-Programm schreiben, müssen Sie eine der bei-
     den vorgenannten Methoden zur Statusangabe wählen. Die beiden Methoden
     können nicht zusammen im selben Code-Modul verwendet werden.

     Im POSIX-Standardentwurf P1003.4a (pthreads) ist angegeben, daß Fehler
     an den Thread zu melden sind, indem die externe Variable errno auf
     einen Fehlercode gesetzt und ein Funktionswert -1 zurückgegeben werden
     muß. Auf den Threads-Referenzseiten ist diese Schnittstelle zur Rück-
     gabe von Statuswerten dokumentiert. DCE Threads bietet in der Schnitt-
     stelle zur Rückgabe von Ausnahmebedingungen jedoch eine Alternative zu
     den Statuswerten.

     Der Zugriff auf Ausnahmebedingungen von der C-Sprache aus ist durch
     die Makros in der Datei exchandling.h definiert. Die Include-Datei
     exchandling.h wird automatisch mit Einbeziehung der Include-Datei
     pthreadexc.h einbezogen.

     Ersetzen Sie #include <pthread.h> durch folgende Include-Anweisung,
     wenn die Schnittstelle zur Rückgabe von Ausnahmebedingungen verwendet
     werden soll.

          #include <dce/pthreadexc.h>

     Das folgende Beispiel zeigt die Syntax zur Behandlung von Ausnahmen:

     TRY
       tryblock
     [CATCH (exceptionname)
       handlerblock]...
     [CATCHALL
       handlerblock]
     ENDTRY












Seite 1                      Reliant UNIX 5.44               Gedruckt 11/98

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026