Оснастки расширений типов ошибок

Предоставляет статические функции, расширяющие встроенный тип ECMAScript (JavaScript) Error посредством включения сведений об исключении и поддержки режимов компиляции приложения (отладка или выпуск).

Пространство имен: отсутствует. Это расширение типа является глобальным и не принадлежит к пространству имен.

Наследования: отсутствуют

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

Имя

Описание

Функция Error.argument

Создает объект Error, представляющий исключение Sys.ArgumentException.

Функция Error.argumentNull

Создает объект Error, представляющий исключение Sys.ArgumentNullException.

Функция Error.argumentOutOfRange

Создает объект Error, представляющий исключение Sys.ArgumentOutOfRangeException.

Функция Error.argumentType

Создает объект Error, представляющий исключение Sys.ArgumentTypeException.

Функция Error.argumentUndefined

Создает объект Error, представляющий исключение Sys.ArgumentUndefinedException.

Функция Error.create

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

Функция Error.format

Создает объект Error, представляющий исключение Sys.FormatException.

Функция Error.invalidOperation

Создает объект Error, представляющий исключение Sys.InvalidOperationException.

Поле Error.message

Представляет описание ошибки.

Поле Error.name

Представляет имя, определяющее ошибку.

Функция Error.notImplemented

Создает объект Error, представляющий исключение Sys.NotImplementedException.

Функция Error.parameterCount

Создает объект Error, представляющий исключение Sys.ParameterCountException.

Функция Error.popStackFrame

Выполняет обновление свойства fileName и lineNumber экземпляра Error, чтобы указать место возникновения, а не место создания ошибки. Эта функция используется при создании типов пользовательских ошибок.

Расширения Error являются частью Библиотека Microsoft Ajax. Добавляют функции встроенного объекта JavaScript Error.

Типы ошибок

Расширения типа Error создают тип Error с дополнительными полями, представляющими сведения об исключении. Все расширения типа Error добавляют как минимум одно поле name, определяющее исключение. Сведения, содержащиеся в поле name, можно использовать для определения способа обработки исключения.

В следующем примере показана проверка свойства Error,name для исключения Sys.ArgumentNullException.

try{ } 
catch (e) {
    if (e.name === "Sys.ArgumentNullException"){
        // Code here ot handle exception.
    }
}

Дополнительные сведения об объекте JavaScript, который расширяется этим типом см. в разделе Объект Error в документе Справочник по языку.

Оптимизация обработки ошибок в клиентском скрипте в режимах отладки и выпуска

Расширения объекта ASP.NET AJAX Error обеспечивают дополнительные функциональные возможности по обработке ошибок в клиентском скрипте.

В ASP.NET представлены режимы компиляции приложения (отладка и выпуск) для работы с клиентскими скриптами AJAX. Это позволяет вызывать исключения в скриптах отладки, которые позволяют упростить процесс отладки, свести к минимуму размер кода выпуска и повысить производительность. В режиме отладки представлены дополнительные функции обработки ошибок, в том числе проверки типа и аргумента, а также поддерживаются более подробные сообщения об ошибках, чем в режиме выпуска.

Дополнительные сведения см. в разделах Практическое руководство. Включение отладки для приложений ASP.NET и Общие сведения об отладке и трассировке приложений Ajax.

В следующем примере показано, как создать новый экземпляр Error посредством вызова метода create объекта Error ASP.NET AJAX.


function validateNumberRange(input, min, max) 
{

    // Verify the required parameters were defined.
    if (input === undefined)
    {
        // Throw a standard exception type.
        var err = Error.argumentNull("input", "A parameter was undefined."); 
        throw err;
    }
    else if (min === undefined)
    {
        var err = Error.argumentNull("min", "A parameter was undefined."); 
        throw err;
    }
    else if (max === undefined)
    {
        var err = Error.argumentNull("max", "A parameter was undefined."); 
        throw err;
    }
    else if (min >= max)
    {
        var err = Error.invalidOperation("The min parameter must be smaller than max parameter.");
        throw err;
    }
    else if (isNaN(input))
    {
        msg = "A number was not entered.  ";
        msg += String.format("Please enter a number between {0} and {1}.", min, max);

        var err = Error.create(msg);
        throw err;
    }
    else if (input < min || input > max)
    {
        msg = "The number entered was outside the acceptable range.  ";
        msg += String.format("Please enter a number between {0} and {1}.", min, max);

        var err = Error.create(msg);
        throw err
    }

    alert("The number entered was within the acceptable range.");
}


var input = undefined;
var min = -10;
var max = 10;

// Result: A thrown ErrorArgumentNull exception with the following Error object message:
// "Sys.ArgumentNullException: A parameter was undefined. Parameter name: input"
validateNumberRange(input, min, max);



Показ: