| Typ | Funktionsbaustein | 
| Beschreibung | Der Funktionsbaustein kann in einem Exception Task verwendet werden, um die Details der Exception (Tasktyp, Taskname, Programmname, usw.) auszulesen. Am Ein-/Ausgang EXCEPTION_INFO_ARRAY muss eine Variable vom Datentyp ESM_EXCEPTION_INFO (vordefiniertes Array) übergeben werden. Dieses Array wird beim Aufruf des Bausteins gefüllt.Falls der Aufruf des FBs fehlschlägt, wird der Ausgang ERROR auf TRUE gesetzt. Falls ERROR = TRUE ist, liefert der Ausgang ERROR_ID Details zum Fehler. | 
| Hinweise | Funktionsbausteine müssen instanziiert werden. Der FB-Instanzname muss in der 'Variablen'-Tabelle der POE deklariert werden, in welcher der FB verwendet werden soll. Der Instanzname muss innerhalb der POE eindeutig sein. | 
| Parameter | Ein-/Ausgang  EXCEPTION_INFO_ARRAY 
Ausgänge
 
| Datentyp: | ESM_EXCEPTION_INFO (vordefiniertes Array) |  
| Beschreibung: | Dieses Array wird beim Aufruf des Bausteins mit den Informationen zur Exception gefüllt. Das Array ist wie folgt definiert (ein Array-Element pro CPU-Kern):
TYPE ESM_EXCEPTION_INFO_ARRAY : ARRAY [0..1] OF ESM_EXCEPTION_INFO;
 
 ESM_EXCEPTION_INFO : STRUCT
 TYPE_ID : UDINT;
 SUB_TYPE : STRING(512);
 SUB_TYPE_ID : UDINT;
 TASK_NAME : STRING;
 PROGRAM_NAME : STRING(512);
 INFORMATION : STRING(512);
 END_STRUCT
 
 END_TYPE
mit:
 
| Element | Beschreibung |  
| TYPE_ID | 0 = Keine 1 = ARP Exception (Details in SUB_TYPE und SUB_TYPE_ID)
 2 = STD Exception (Details in SUB_TYPE)
 3 = Unbekannte Exception
 4 = Signal
 5 = Task WatchDog
 |  
| SUB_TYPE | Subtype der Exception (z.B. std::exception, Arp::System::Commons::ArgumentException) |  
| SUB_TYPE_ID | Liefert Informationen zu ARP Exceptions (wenn TYPE_ID = 1)0x4000 = PLC Exception 0x4001 = PLC Division By Zero Exception (Division durch Null)
 0x4002 = PLC Index Out Of Range Exception (Index außerhalb des gültigen Bereichs)
 0x4003 = PLC Stack Overflow Exception (Stacküberlauf)
 0x4004 = PLC String Error Exception (Zeichenfolgefehler)
 |  
| TASK_NAME | Name des ESM-Task, in dem die Exception aufgetreten ist. |  
| PROGRAM_NAME | Quelle der Exception im Format "Komponente-Name/Programm-Name" |  
| INFORMATION | Zusätzliche Informationen |  |   ERROR 
 
| Datentyp: | BOOL |  
| Beschreibung: | Falls der Aufruf des FBs fehlschlägt, wird der Ausgang auf TRUE gesetzt. Solange ERROR = TRUE ist, liefert der Fehlerode am Ausgang ERROR_ID Informationen zur Fehlerursache. |   ERROR_ID 
 
| Datentyp: | ESM_GET_EXCEPTION_INFO_ERROR (vordefiniertes Array) |  
| Beschreibung: | Falls der Aufruf des FBs fehlschlägt, liefert der Ausgang den Fehlercode mit Informationen zur Fehlerursache.Der Wert dieses Ausgangs ist nur definiert, wenn ERROR = TRUE ist.Mögliche Werte: 
| NoError | Das Array wurde mit den erwarteten Werten gefüllt. |  
| InvalidArgument | Das Array ist kein gültiges ESM_EXCEPTION_INFO Array. |  
| CommunicationError | Interner Fehler |  
| CommunicationError_CannotReadExceptionInfo | Interner Fehler |  |  |