Поделиться через


OfficeExtension.Error class

Объект ошибки, возвращаемый context.sync(), если обещание отклоняется из-за ошибки при обработке запроса.

Свойства

code

Строка кода ошибки, например InvalidArgument.

debugInfo

Сведения об отладке (полезны для подробного ведения журнала ошибки, т. е. через JSON.stringify(...)).

innerError

Внутренняя ошибка, если применимо.

message

Сообщение об ошибке, переданное из приложения Office.

name

Имя ошибки: "OfficeExtension.Error".

stack

Трассировка стека, если применимо.

traceMessages

Сообщения трассировки (если таковые есть), добавленные с помощью вызова перед вызовом context.trace()context.sync(). Если произошла ошибка, она содержит все сообщения трассировки, выполненные до возникновения ошибки. Эти сообщения помогают отслеживать последовательность выполнения программы и обнаруживать случай ошибки.

Сведения о свойстве

code

Строка кода ошибки, например InvalidArgument.

code: string;

Значение свойства

string

debugInfo

Сведения об отладке (полезны для подробного ведения журнала ошибки, т. е. через JSON.stringify(...)).

debugInfo: DebugInfo;

Значение свойства

innerError

Внутренняя ошибка, если применимо.

innerError: Error;

Значение свойства

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"