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