Функция Error.create

Создает объект Error, который может содержать дополнительные сведения об ошибке.

var err = Error.create(message, errorInfo);

message

(Необязательно). Строка сообщения об ошибке.

errorInfo

(Необязательно). Экземпляр объекта JavaScript, который содержит дополнительные сведения об ошибке. Объект должен иметь поле name, содержащее строку, идентифицирующую ошибку. Объект должен также содержать поля для полного описания ошибки.

Функция create используется для создания объекта Error, который может содержать дополнительные сведения об ошибке. Аргумент message позволяет прикреплять данные к ошибке, которые могут отображаться в приложении, когда происходит ошибка, или предоставлять сведения для отслеживания ошибок. Аргумент errorInfo позволяет добавлять сведения об ошибке как поля в объект Error, созданный функцией. Это дает возможность задавать особые сведения об ошибках, более полно описывающие ошибку. Предоставляемый объект JavaScript должен иметь поле с именем name, содержащим строку, которая идентифицирует ошибку. Можно предоставить в объект имя и дополнительные поля любого типа errorInfo, что бывает полезно для настраиваемой обработки исключения.

В следующем примере показано, как создать новый объект Error при помощи функции create. Создаются три ошибки. Первой ошибкой является исключение Sys.ArgumentTypeException. Вторая ошибка предоставляет строку сообщения, передаваемую в аргумент message. Третья ошибка предоставляет строку сообщения и объект, передаваемый в аргумент errorInfo. Объект errorInfo предоставляет требуемое поле name, идентифицирующее ошибку, и дополнительное поле, описывающее ошибку.


function throwAnError(input) 
{

  if (input === undefined)
    {
        // Throw a standard exception type.
        var err = Error.argumentNull("input", "A parameter was undefined."); 
        throw err;
    }
    else if (input === "Test1")
    {   
        // Throw a generic error with a message.
        var messageVar = "A test message.";
        var err = Error.create(messageVar)
        throw err;
    }
    else if (input === "Test2")
    {
        // Throw a generic error with a message and associated errorInfo object.
        var messageVar = "This error contains an additional custom errorInfo object";
        var errorInfoObj = { name: "SomeNamespace.SomeExceptionName", someErrorID: "436" };
        var err = Error.create(messageVar, errorInfoObj);
        throw err;
    }
    alert("No error occured.");
}

throwAnError("Test2");



Показ: