Excel Services の警告Excel Services Alerts

Excel Web Services は、Web サービス内で発生したエラーおよび Excel Calculation Services が返したエラーのアラートを公開します。Excel Web Services exposes alerts for errors that occur within the Web service and errors that are returned by Excel Calculation Services.

エラーは次の方法で公開されます。Errors are exposed in the following ways:

  • Excel の計算エラーは、Excel に表示されるのと同じように、つまり、#VALUE! などのセル エラー値として返されます。 GetCell メソッドまたは GetRange メソッドを呼び出し、書式設定された値を要求する場合、# 形式のエラー文字列が返されます。書式設定されていない値を要求した場合、列挙型のエラー コードが返されます。詳細は、このトピックで後述する「 エラー コード」セクションを参照してください。Excel calculation errors are returned similarly to how they are shown in Excel—that is, as cell error values, such as #VALUE!. When you call the GetCell or GetRange methods and request formatted values, you will get the # style error string. If you request unformatted values, you will get an enumerated error code. For more information, see the Error Codes section later in this topic.

  • いずれかの Web サービス メソッドの処理中にエラーが発生した場合、メソッドが正常終了しないように、エラーが簡易オブジェクト アクセス プロトコル (SOAP) の例外として公開されます。このエラーをコード内でキャッチできるとともに、キャッチする必要があります。この種のエラーは "停止" アラートとも呼ばれます。When an error occurs during the processing of one of the Web service methods, preventing the method from finishing successfully, the error is exposed as a Simple Object Access Protocol (SOAP) exception. You can and should catch this error in your code. These types of errors are also known as "stop" alerts.

  • メソッドが通常の結果が返されるエラーは、メソッド引数の一部、具体的には出力引数として返されます。この種のエラーは、致命的ではないエラーとみなされます。エラーが例外ではなく出力引数として返される理由は、例外が発生すると、コードが通常の実行パスからそれてしまい、これは致命的ではないエラーの場合は望ましくないからです。このようなエラーをチェックすることは省略可能です。この種のエラーは "継続" アラートとも呼ばれます。Errors that do not prevent the method from returning normal results are returned as part of the method arguments, specifically as an output argument. These types of errors are considered non-critical errors. The reason the errors are returned as an output argument instead of an exception is because throwing an exception would divert the code from its normal execution path, which is not desirable with noncritical errors. Checking for these errors is optional. These types of errors are also known as "continue" alerts.

アラートの種類Types of Alerts

アラートには、"停止" と "継続" の 2 種類があります。There are two types of alerts: "stop" and "continue."

"停止" アラート"stop" alerts

"停止" アラートは、現在の操作を停止します。つまり、ブックが現在の操作の実行前の状態にロールバックされます。"停止" アラートは SOAP 例外として公開されます。The "stop" alert causes the current operation to stop. This means the workbook will be rolled back to its state prior to execution of the current operation. The "stop" alerts are exposed as SOAP exceptions.

"継続" アラート"continue" alerts

一般に、"継続" アラートは、警告または致命的でないエラーです。Excel Calculation Services が "継続" アラートをスローしても、操作は続行します。これらのアラートは、出力引数 (アラートのさまざまなフィールドを持つ構造体) として返されます。詳細は、「 Microsoft.Office.Excel.Server.WebServices 名前空間」の「 Status クラス」参照トピックを参照してください。The "continue" alert is typically a warning or non-critical error. When Excel Calculation Services throws a "continue" alert, the operation continues. These alerts are returned as out arguments—a struct with the various alert fields. For more information, see the Status class reference topics in the Microsoft.Office.Excel.Server.WebServices namespace.

例外のキャッチExceptions to Catch

ユーザーが起こす可能性があることが分かっている Excel Calculation Services 固有のエラーをキャッチする必要があります。たとえば、アプリケーションがユーザーにブックへのパスを入力してくださいというメッセージを表示する場合、ユーザーは正しくないパスを入力したり、存在しないブックを選択する可能性があります。ユーザーが何を入力するかは制御すできませんが、ユーザーが意図せずにブックのファイル名を間違えて入力した際のユーザー エクスペリエンスは制御できます。You should catch errors specific to Excel Calculation Services that you know the user might cause. For example, if your application prompts the user to type the path to a workbook, the user might type the wrong path or select a workbook that does not exist. You cannot control what the user types, but you can control the user experience when a user unintentionally misspells a workbook file name.

SOAP 例外 (つまり "停止" アラート) は、コード内でキャッチする必要があります。"継続" アラートの場合は、呼び出し側コードはアラート情報を無視するか確認するかを選択することができます。You should catch the SOAP exceptions (that is, "stop" alerts) in your code. For "continue" alerts, the calling code may choose to ignore or review the alert information.

エラー コードError Codes

特定のエラー条件をキャッチできるようにするため、Excel Calculation Services アラートにはエラー コードが関連づけられます。Web サービスは、 SoapException クラスからプロパティを使用してエラーを返します。To enable catching specific error conditions, an Excel Calculation Services alert has an associated error code. The web service then returns the error using properties from the SoapException class.

詳細は、Microsoft .NET Framework SDK ドキュメントの「SoapException クラス」トピックを参照してください。For more information, see the "SoapException Class" topic in the Microsoft .NET Framework SDK documentation.

例外処理Exception Handling

アプリケーション (つまり SOAP クライアント) が、サービスが処理できない要求を Web サービスに送信すると、サービスは SOAP 例外をクライアントに返します。Excel Web Services によってスローされる例外の処理は、エラーが発生した際にユーザーに具体的な情報を返すことができるため、開発するアプリケーションの重要な部分です。例外処理iは、アプリケーションで予期しないことが発生した場合のユーザー エクスペリエンスを改善する際に役立ちます。If your application (that is, your SOAP client) sends a request to a web service that the service is unable to process, the service returns a SOAP exception to the client. Handling exceptions thrown by Excel Web Services is an important part of the applications that you develop, because you can return specific information to users when errors occur. Exception handling can also help improve the user experience when something unexpected happens in your application.

例外処理に関する一般情報については、Microsoft .NET Framework SDK ドキュメントの「例外の処理とスロー」を参照してください。For general information about exception handling, see "Handling and Throwing Exceptions" in the Microsoft .NET Framework SDK documentation.

関連項目See also

概念Concepts

SOAP API にアクセスするAccessing the SOAP API

Excel Services のエラー コードExcel Services Error Codes

その他のリソースOther resources

手順 3: Web サービスへのアクセスStep 3: Accessing the Web Service

手順 4: アプリケーションのビルドとテストを行うStep 4: Building and Testing the Application

チュートリアル: Excel Web Services を使用してカスタム アプリケーションを開発するWalkthrough: Developing a Custom Application Using Excel Web Services