Zum Hauptinhalt springen
Alle Methoden und Eigenschaften der ABBYY FineReader Engine-Schnittstelle geben einen Wert vom Typ HRESULT zurück. HRESULT („result handle“) dient zur Rückgabe von Erfolgs-, Warnungs- und Fehlerwerten. HRESULTs sind tatsächlich keine Handles auf irgendetwas, sondern lediglich 32-Bit-Werte, in denen mehrere Felder codiert sind. Ein Ergebnis von null bedeutet Erfolg, ein Ergebnis ungleich null einen Fehler. Wenn ein Methoden- oder Eigenschaftsaufruf nicht erfolgreich war, gibt die jeweilige Methode oder Eigenschaft einen HRESULT-Code zurück, der den Fehler angibt. Darüber hinaus wird über die IErrorInfo-Schnittstelle eine detailliertere Fehlerbeschreibung bereitgestellt.
Für Windows: Eine ausführliche Beschreibung der Fehlerbehandlung finden Sie in der COM-Dokumentation.
  • C#. (Nur Windows) Automatisch generierte Wrapper für COM-Schnittstellen erkennen Fehler und wandeln sie in Standardausnahmen um. Umschließen Sie eine Folge von ABBYY FineReader Engine-Methoden mit den folgenden Anweisungen:
  • C++ mit Native COM support (Windows). Die Native-COM-support-Technologie übersetzt die HRESULT-Codes von Schnittstellenfunktionen in Ausnahmen eines speziellen Typs (_com_error) und verwendet automatisch Informationen aus IErrorInfo. Daher kann eine Folge von FineReader Engine Methoden durch die folgenden Anweisungen eingeschlossen werden:
Im Allgemeinen kann die Fehlerbehandlung mit Native COM support auf die für C++-Code mit Funktionen, die Ausnahmen auslösen können, übliche Weise erfolgen.
  • Reines C++ / C++. Methoden und Eigenschaften der FineReader Engine-Schnittstelle können keine Ausnahmen auslösen, sondern geben HRESULT-Werte zurück. Die wichtigsten Mittel zur Behandlung dieser Rückgabecodes sind die Makros SUCCEEDED und FAILED. Sie prüfen den HRESULT-Wert und leiten daraus ab, ob der Vorgang erfolgreich war oder fehlgeschlagen ist. Um einen Zeiger auf die Schnittstelle des IErrorInfo-Objekts zu erhalten, verwenden Sie die folgenden API-Funktionen:
    • GetErrorInfo für Windows
    • GetFREngineErrorInfo für Linux und macOS:
  • Java (nur unter Linux und Windows). Siehe Using ABBYY FineReader Engine in Java für Hinweise zur Fehlerbehandlung in Java.
  • Visual Basic (nur unter Windows). Visual-Basic-Benutzer können über die Number-Eigenschaft des Err-Objekts auf den HRESULT-Code zugreifen. Andere Attribute des Err-Objekts werden mit den Informationen aus IErrorInfo initialisiert. Die Fehlerbehandlung erfolgt hier mithilfe der On-Error-Anweisung. Wenn Sie die On Error Resume Next-Anweisung an keiner Stelle in Ihrem Code verwenden, kann jeder auftretende Laufzeitfehler dazu führen, dass eine Fehlermeldung aus IErrorInfo angezeigt wird und die Codeausführung angehalten wird.

Siehe auch

Standardrückgabecodes