Excel Services 警报
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 文档中的“处理和引发异常”。
See Also
任务
演练:使用 Excel Web Services 开发自定义应用程序