エラー処理Error handling

Excel の JavaScript API を使用してアドインをビルドする場合は、ランタイム エラーを考慮するためのエラー処理ロジックを含めるようにしてください。これは、API の非同期の性質のために重要です。When you build an add-in using the Excel JavaScript API, be sure to include error handling logic to account for runtime errors. Doing so is critical, due to the asynchronous nature of the API.

注意

*Sync()* メソッドと非同期であるため Excel の JavaScript API の詳細については、 Excel の JavaScript API を使用して基本的なプログラミングの概念を参照してください。For more information about the sync() method and the asynchronous nature of Excel JavaScript API, see Excel JavaScript API core concepts.

ベスト プラクティスBest practices

このドキュメントのコード サンプル全体にわたり、Excel.runへのすべての呼び出しがExcel.run内で発生するエラーをキャッチするcatchステートメントに付属していることが分かります。Excel の JavaScript Api を使用してアドインをビルドするときは、同じパターンを使用することをお勧めします。Throughout the code samples in this documentation, you'll notice that every call to Excel.run is accompanied by a catch statement to catch any errors that occur within the Excel.run. We recommend that you use the same pattern when you build an add-in using the Excel JavaScript APIs.

Excel.run(function (context) { 

  // Excel JavaScript API calls here

  // Await the completion of context.sync() before continuing.
  return context.sync()
    .then(function () {
      console.log("Finished!");
    })
}).catch(errorHandlerFunction);     

API エラーAPI errors

Excel JavaScript API 要求が正常に実行されない場合、API は次のプロパティを含むエラー オブジェクトを返します。When an Excel JavaScript API request fails to run successfully, the API returns an error object that contains the following properties:

  • コード: code エラー メッセージのプロパティが含まれている文字列を含む、 OfficeExtension.ErrorCodes または Excel.ErrorCodes リストです。たとえば、エラー コード"InvalidReference"では、参照が指定された操作に対して有効ではないことを示します。エラー コードはローカライズされません。code: The code property of an error message contains a string that is part of the OfficeExtension.ErrorCodes or Excel.ErrorCodes list. For example, the error code "InvalidReference" indicates that the reference is not valid for the specified operation. Error codes are not localized.

  • メッセージ: message エラー メッセージのプロパティには、ローカライズされた文字列のエラーの概要が含まれています。エラー メッセージは、エンド ユーザーの消費対象ではありません。アドインがエンド ユーザーに示すエラー メッセージを確認するには、エラー コードと適切なビジネス ロジックを使用してください。message: The message property of an error message contains a summary of the error in the localized string. The error message is not intended for consumption by end users; you should use the error code and appropriate business logic to determine the error message that your add-in shows to end users.

  • debugInfo: 存在する場合、エラー メッセージの debugInfo プロパティは、エラーの根本原因を理解するために使用できる追加情報を提供します。debugInfo: When present, the debugInfo property of the error message provides additional information that you can use to understand the root cause of the error.

注意

console.log()を使用してコンソールにエラー メッセージを印刷する場合は、サーバー上にそれらのメッセージのみが表示されます。エンド ユーザーには、アドイン作業ウィンドウでまたはホスト アプリケーションの任意の場所にこれらのエラー メッセージは表示されません。If you use console.log() to print error messages to the console, those messages will only be visible on the server. End users will not see those error messages in the add-in taskpane or anywhere in the host application.

関連項目See also