Die Klassenhierarchie der RFC-spezifischen Ausnahme- und Fehlerklassen ist folgendermaßen aufgebaut:
Hierarchie der RFC-Ausnahmeklassen
Die Klasse CX_REMOTE_UNSPECIFIED_EXC ist die Superklasse für alle Ausnahmeklassen, die benutzt werden um die ursprüngliche Ausnahme zu ersetzen. Dies ist notwendig, wenn die ursprüngliche Ausnahme im RFC-Client unbekannt oder der Transport der Ausnahme zum RFC-Client gescheitert ist.
Die Klasse CX_REMOTE_APPL_ERROR behandelt Fehlersituationen, die während des Aufrufs oder beim Ausführen des Funktionsbausteins auf der Serverseite verursacht warden. Sie entspricht damit weitestgehend der klassischen RFC-Ausnahme SYSTEM_FAILURE.
Hinweis
Einige spezielle Fälle von SYSTEM_FAILURE sind der Klasse CX_CONNECTIVITY_ERROR zugeordnet.
Die Klasse CX_CONNECTIVITY_ERROR beinhaltet alle Ausnahmen, die während des Verbindungsaufbaus, der Ressourcenzuordnung oder innerhalb der Kommunikationsschicht während des Funktionsaufrufs ausgegeben werden. Sie entspricht den klassischen Ausnahmen COMMUNICATION_FAILURE, RESOURCE_FAILURE und einigen speziellen Fällen von SYSTEM_FAILURE.
Das Attribut REMOTE_CONTEXT in der Klasse CX_ROOT transportiert im Falle von Anwendungsfehlern Zusatzinformationen zum Zielsystem (z.B. den Namen des betroffenen Applikationsservers oder der ABAP-Destination).
Anwendungseigene klassenbasierte Ausnahmen werden direkt, d.h. ohne zusätzliche Verschalung durch eine Klasse zum RFC-Client transportiert. Dies erleichtert dem RFC-Client den Zugriff auf die Ausnahme und ermöglicht es den Kontext des RFC-Aufrufs auch dann beizubehalten, wenn die Ausnahme außerhalb des Funktionsaufrufs propagiert wurde.
Ausführliche Informationen zur Verwendung klassenbasierter Ausnahmen im RFC-Umfeld erhalten Sie unter: