Excel Services 警报

上次修改时间: 2011年3月4日

适用范围: SharePoint Server 2010

本文内容
警报类型
要捕获的异常
错误代码
异常处理

Excel Web Services 公开发生在 Web 服务中的错误和 Excel Calculation Services 返回的错误的警报。

通过以下方式公开错误:

  • Excel 计算错误返回的方式类似于它们在 Excel 中的显示方式—即,作为单元格错误值,例如 #VALUE!。当调用 GetCell 或 GetRange 方法和请求的已设置格式的值时,将收到 # 样式的错误字符串。如果请求无格式值,将收到枚举错误代码。有关详细信息,请参阅本主题后面的错误代码一节。

  • 如果在处理其中一个 Web 服务方法时出现错误,导致方法无法成功完成,该错误会作为简单对象访问协议 (SOAP) 异常公开。您可以且应该在代码中捕获该错误。这些类型的错误通常称为"停止"警报。

  • 不会阻止方法返回规范结果的错误作为方法参数的一部分返回,特别是作为输出参数。这些类型的错误被视为非关键性错误。错误作为输出参数而非异常返回的原因是引发异常会使代码偏离其正常执行路径,这对非关键性错误是不可取的。可以检查这些错误,也可以不检查。这些类型的错误通常称为"继续"警报。

警报类型

有两种类型的警报:"停止"和"继续"。

"停止"警报

"停止"警报会导致当前操作停止。这意味着工作簿将回滚到执行当前操作之前的状态。"停止"警报作为 SOAP 异常公开。

"继续"警报

"继续"警报通常是一个警告或非关键性错误。当 Excel Calculation Services 引发"继续"警报时,操作会继续。这些警报作为输出参数返回,即各种警报字段的一个结构。有关详细信息,请参阅 Microsoft.Office.Excel.Server.WebServices 命名空间中的 Status 类参考主题。

要捕获的异常

应该捕获特定于 Excel Calculation Services 的您知道用户可能引发的错误。例如,如果应用程序提示用户键入工作簿的路径,用户可能会键入错误的路径或选择一个不存在的工作簿。您无法控制用户键入的内容,但可以控制用户无意中错误拼写工作簿文件名称时的用户体验。

应该在代码中捕获 SOAP 异常(即,"停止"警报)。对于"继续"警报,调用代码可能选择忽略或查看警报信息。

错误代码

为了能够捕获特定的错误条件,一个 Excel Calculation Services 警报应具有一个关联的错误代码。之后 Web 服务将使用 SoapException 类中的属性返回错误。

有关详细信息,请参阅 Microsoft .NET Framework SDK 文档中的"SoapException 类"主题。

异常处理

如果应用程序(即,您的 SOAP 客户端)向某个 Web 服务发送其无法处理的请求,则该服务在客户端返回一个 SOAP 异常。处理 Excel Web Services 引发的异常是所开发的应用程序的一个重要部分,因为发生错误时可以为用户返回特定的信息。异常处理还有助于在应用程序中出现某些意外情况时改进用户体验。

有关异常处理的常规信息,请参阅 Microsoft .NET Framework SDK 文档中的"处理和引发异常"。

请参阅

任务

步骤 3:访问 Web 服务

步骤 4:生成和测试应用程序

演练:使用 Excel Web Services 开发自定义应用程序

概念

访问 SOAP API

Excel Services 错误代码