OfficeExtension.Error class
The error object returned by context.sync()
, if a promise is rejected due to an error while processing the request.
Properties
code | Error code string, such as "InvalidArgument". |
debug |
Debug info (useful for detailed logging of the error, i.e., via |
inner |
Inner error, if applicable. |
message | The error message passed through from the Office application. |
name | Error name: "OfficeExtension.Error". |
stack | Stack trace, if applicable. |
trace |
Trace messages (if any) that were added via a |
Property Details
code
Error code string, such as "InvalidArgument".
code: string;
Property Value
string
debugInfo
Debug info (useful for detailed logging of the error, i.e., via JSON.stringify(...)
).
debugInfo: DebugInfo;
Property Value
innerError
message
The error message passed through from the Office application.
message: string;
Property Value
string
name
Error name: "OfficeExtension.Error".
name: string;
Property Value
string
stack
Stack trace, if applicable.
stack: string;
Property Value
string
traceMessages
Trace messages (if any) that were added via a context.trace()
invocation before calling context.sync()
. If there was an error, this contains all trace messages that were executed before the error occurred. These messages can help you monitor the program execution sequence and detect the case of the error.
traceMessages: string[];
Property Value
string[]
Examples
// The following example shows how you can instrument a batch of commands
// to determine where an error occurred. The first batch successfully
// inserts the first two paragraphs into the document and cause no errors.
// The second batch successfully inserts the third and fourth paragraphs
// but fails in the call to insert the fifth paragraph. All other commands
// after the failed command in the batch are not executed, including the
// command that adds the fifth trace message. In this case, the error
// occurred after the fourth paragraph was inserted, and before adding the
// fifth trace message.
// Run a batch operation against the Word object model.
await Word.run(async (context) => {
// Create a proxy object for the document body.
const body = context.document.body;
// Queue a command to insert the paragraph at the end of the document body.
// Start a batch of commands.
body.insertParagraph('1st paragraph', Word.InsertLocation.end);
// Queue a command for instrumenting this part of the batch.
context.trace('1st paragraph successful');
body.insertParagraph('2nd paragraph', Word.InsertLocation.end);
context.trace('2nd paragraph successful');
// Synchronize the document state by executing the queued-up commands,
// and return a promise to indicate task completion.
await context.sync();
// Queue a command to insert the paragraph at the end of the document body.
// Start a new batch of commands.
body.insertParagraph('3rd paragraph', Word.InsertLocation.end);
context.trace('3rd paragraph successful');
body.insertParagraph('4th paragraph', Word.InsertLocation.end);
context.trace('4th paragraph successful');
// This command will cause an error. The trace messages in the queue up to
// this point will be available via Error.traceMessages.
body.insertParagraph(0, '5th paragraph', Word.InsertLocation.end);
// Queue a command for instrumenting this part of the batch.
// This trace message will not be set on Error.traceMessages.
context.trace('5th paragraph successful');
await context.sync();
}).catch(function (error) {
if (error instanceof OfficeExtension.Error) {
console.log('Trace messages: ' + error.traceMessages);
}
});
// Output: "Trace messages: 3rd paragraph successful,4th paragraph successful"
Office Add-ins