OfficeExtension.Error class
Объект ошибки, возвращаемый context.sync()
, если обещание отклоняется из-за ошибки при обработке запроса.
Свойства
code | Строка кода ошибки, например InvalidArgument. |
debug |
Сведения об отладке (полезны для подробного ведения журнала ошибки, т. е. через |
inner |
Внутренняя ошибка, если применимо. |
message | Сообщение об ошибке, переданное из приложения Office. |
name | Имя ошибки: "OfficeExtension.Error". |
stack | Трассировка стека, если применимо. |
trace |
Сообщения трассировки (если таковые есть), добавленные с помощью вызова перед вызовом |
Сведения о свойстве
code
Строка кода ошибки, например InvalidArgument.
code: string;
Значение свойства
string
debugInfo
Сведения об отладке (полезны для подробного ведения журнала ошибки, т. е. через JSON.stringify(...)
).
debugInfo: DebugInfo;
Значение свойства
innerError
message
Сообщение об ошибке, переданное из приложения Office.
message: string;
Значение свойства
string
name
Имя ошибки: "OfficeExtension.Error".
name: string;
Значение свойства
string
stack
Трассировка стека, если применимо.
stack: string;
Значение свойства
string
traceMessages
Сообщения трассировки (если таковые есть), добавленные с помощью вызова перед вызовом context.trace()
context.sync()
. Если произошла ошибка, она содержит все сообщения трассировки, выполненные до возникновения ошибки. Эти сообщения помогают отслеживать последовательность выполнения программы и обнаруживать случай ошибки.
traceMessages: string[];
Значение свойства
string[]
Примеры
// 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