Error 형식 확장

응용 프로그램 컴파일 모드(디버그 또는 릴리스)에 대한 지원 및 예외 정보를 포함하여 기본 제공된 ECMAScript(JavaScript) Error 형식을 확장하는 정적 함수를 제공합니다.

네임스페이스: 없음. 이 형식 확장은 전역적이며 네임스페이스의 일부가 아닙니다.

상속: 없음

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

Name

설명

Error.argument 함수

Sys.ArgumentException 예외를 나타내는 Error 개체를 만듭니다.

Error.argumentNull 함수

Sys.ArgumentNullException 예외를 나타내는 Error 개체를 만듭니다.

Error.argumentOutOfRange 함수

Sys.ArgumentOutOfRangeException 예외를 나타내는 Error 개체를 만듭니다.

Error.argumentType 함수

Sys.ArgumentTypeException 예외를 나타내는 Error 개체를 만듭니다.

Error.argumentUndefined 함수

Sys.ArgumentUndefinedException 예외를 나타내는 Error 개체를 만듭니다.

Error.create 함수

선택적 추가 오류 정보를 포함하는 Error 개체를 만듭니다.

Error.format 함수

Sys.FormatException 예외를 나타내는 Error 개체를 만듭니다.

Error.invalidOperation 함수

Sys.InvalidOperationException 예외를 나타내는 Error 개체를 만듭니다.

Error.message 필드

오류에 대한 설명을 나타냅니다.

Error.name 필드

오류를 식별하는 이름을 나타냅니다.

Error.notImplemented 함수

Sys.NotImplementedException 예외를 나타내는 Error 개체를 만듭니다.

Error.parameterCount 함수

Sys.ParameterCountException 예외를 나타내는 Error 개체를 만듭니다.

Error.popStackFrame 함수

오류가 만들어진 위치 대신 오류가 throw된 위치를 나타내기 위해 Error 인스턴스의 fileNamelineNumber 속성을 업데이트합니다. 사용자 지정 오류 형식을 만드는 경우 이 함수를 사용하십시오.

Error 확장은 Microsoft AJAX 라이브러리의 일부입니다. 이 확장은 기본 제공되는 JavaScript Error 개체에 기능을 추가합니다.

Error 형식

Error 형식 확장에서는 예외 정보를 나타내는 추가 필드가 포함된 Error 형식을 생성합니다. 모든 Error 형식 확장에서는 최소한 name 필드를 추가하여 예외를 식별합니다. 이 예외의 name 필드를 테스트하면 수행할 작업을 확인할 수 있습니다.

다음 예제에서는 Sys.ArgumentNullException 예외의 Error,name 속성을 테스트하는 방법을 보여 줍니다.

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

이 형식에서 확장하는 JavaScript 개체에 대한 자세한 내용은 언어 참조Error 개체를 참조하십시오.

디버그 모드와 릴리스 모드에 대한 클라이언트 스크립트 오류 처리 최적화

ASP.NET AJAX Error 개체 확장은 클라이언트 스크립트 오류 처리 기능을 추가로 제공합니다.

ASP.NET에서는 AJAX 클라이언트 스크립트 사용을 위해 디버그 및 릴리스 응용 프로그램 컴파일 모드를 제공합니다. 이렇게 하면 디버깅 프로세스에 유용한 디버그 스크립트에서 예외를 throw할 수 있는 동시에 릴리스 코드의 크기를 최소화하여 성능을 강화할 수 있습니다. 디버그 모드에서는 형식 및 인수 검사와 같은 오류 처리 기능을 추가로 제공하며 릴리스 모드와 비교하여 더 자세한 오류 메시지를 제공합니다.

자세한 내용은 방법: ASP.NET 응용 프로그램에 디버깅 사용Ajax 응용 프로그램 디버깅 및 추적 개요를 참조하십시오.

다음 예제에서는 ASP.NET AJAX Error 개체의 create 메서드를 호출하여 새 Error 인스턴스를 만드는 방법을 보여 줍니다.


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);




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);



표시: