错误处理
所有 ABBYY FineReader Engine 接口方法和属性都会返回 HRESULT 类型的值。HRESULT("结果句柄")是返回成功、警告和错误值的一种方式。 HRESULT 实际上并非句柄;它们只是 32 位的值,值中有多个字段编码。零结果表示成功,非零结果表示失败。
如果某个方法或属性调用不成功,该方法或属性将返回一个表示失败的 HRESULT 代码。此外,它会通过 IErrorInfo 接口提供一个更详细的错误描述。
- C++。FineReader Engine 接口方法和属性不能引发异常,但是会返回 HRESULT。对于处理这些返回代码来说最重要的方法是 SUCCEEDED 和 FAILED 宏指令。它们会测试 HRESULT 值,然后从中推断操作结果,即成功还是失败。如要获取 IErrorInfo 对象接口的指针,请使用 GetFREngineErrorInfo API 功能。
wchar_t* GetErrorMessage() { IErrorInfo* errorInfo; if( GetFREngineErrorInfo( 0, &errorInfo ) == S_OK && errorInfo != 0 ) { // 获取错误描述 wchar_t* description; errorInfo->GetDescription( &description ); errorInfo->Release(); return description; } else { return L"未知错误"; } }
另请参阅
7/3/2024 8:50:10 AM