跳转到主要内容
FRE for Linux 和 Windows 均实现了此方法。
此方法在客户端实现。使用 Batch Processor 进行处理时,如果发生错误,ABBYY FineReader Engine 会调用此方法。您可以在其实现中向用户报告处理过程中出现的错误。该方法还允许您取消操作。

语法

C++

HRESULT OnError(
  BSTR          FileName,
  int           PageIndex,
  BSTR          ErrorMessage,
  VARIANT_BOOL* Cancel
);

C#

void OnError(
  string   FileName,
  int      PageIndex,
  string   ErrorMessage,
  ref bool Cancel
);

Visual Basic .NET

Sub OnError( _
  FileName As String, _
  PageIndex As Integer, _
  ErrorMessage As String, _
  ByRef Cancel As Boolean _
)

参数

FileName [in] 包含发生错误的文件名。 PageIndex [in] 包含文件中发生错误页面的索引。 ErrorMessage [in] 包含错误消息。 Cancel [in, out] 您可以将此变量设置为 TRUE,以指示应终止处理过程。在这种情况下,报告该提示的处理函数将返回 E_ABORT。

返回值

[仅限 C++] 如果此方法返回的值不是 S_OK,则表示客户端发生了错误;在这种情况下,Cancel 参数的值将不会被纳入考虑。

备注

此 方法 的客户端实现必须确保:在该 方法 内部抛出的所有异常都会被捕获并得到处理,且不会传播到该 方法 之外。异常一旦传播到该 方法 外部,可能会导致不可预测的结果 (例如程序终止) 。

另请参见

IAsyncProcessingCallback BatchProcessor