MsAjax Lib-> Error 类型扩展

 

Error 类型扩展

提供了基于 ECMAScript (JavaScript) Error 对象的扩展.

命名空间: 无. 本扩展类型是全局型的不属于任意一命名空间。

继承:

语法

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

扩展成员

名称

说明

Error.argument 函数

根据指定的异常消息和非法的函数参数来创建一个 Sys.ArgumentException型 的异常

Error.argumentNull 函数

根据指定的错误消息和NULL参数来创建一个 Sys.ArgumentNullException型 的异常。

Error.argumentOutOfRange 函数

根据指定的错误消息和可以导致异常的参数来创建一个 Sys.ArgumentOutOfRangeException型 的异常。

Error.argumentType 函数

根据指定的错误消息和实际类型以及期待类型的参数来创建一个 Sys.ArgumentTypeException型 的异常。

Error.argumentUndefined 函数

根据指定的错误消息和Undefined参数来创建一个 Sys.ArgumentUndefinedException型 的异常。

Error.create 函数

根据指定的错误消息创建一个 Error 对象。

Error.invalidOperation 函数

根据指定的错误消息和导致本异常的参数创建一个 Sys.InvalidOperationException型的异常。

Error.notImplemented 函数

根据指定的错误消息创建一个 Sys.NotImplementedException型的异常。

Error.parameterCount 函数

根据指定的错误消息创建一个 Sys.ParameterCountException型的异常。

Error.popstackFrame 函数

将 该Error实例的fileName和lineNumber字段更新为该Error被掷出时的位置,而不是该Error被创建时的位置。(--引用自 http://www.cnblogs.com/dflying/archive/2007/02/09/646430.html)

备注

Error 扩展是Microsoft AJAX库的一部分。 它为 JavaScript 的 Error 对象提供了许多与 .NET 程序结合的更密切的成员。

客户端脚本的 Error 类型 可以更有效的处理 Debug 和 Release 方法

Microsoft ASP.NET AJAX Error 对象扩展提供了客户端脚本的更有效的编译方法(debug 或 release)异常处理 使用release方式,异常处理加强了性能,只包含必须的异常处理使脚本大小缩到最小。 使用debug方式, 异常处理提供了更多特色功能例如类型检查和参数检查, 并且在release方式中提供了更多复杂的异常消息。 更多消息,请参见 How to Enable Debugging for ASP.NET ApplicationsASP.NET AJAX 追踪与调试综述.

Error 类型

Error 类型扩展创建了内部异常的定义结构类型, 使用参数名和可行的扩展数据使异常描述更加丰富和精确。

你可以通过测试异常类型来决定使用何种方法。更多信息,请参见 Object 类型扩展, Object.getType 函数, 和Object.getTypeName 函数.

下面这个示例使用Error对象的getTypeName方法测试了异常类型。

try{ } 
catch (e) {
If (Object.getTypeName(e) == "ArgumentNull")
// 执行的操作
}

更多关于JavaScript 的对象的类型扩展的信息,请参见 Error Object in the JScript Language Reference.

下面的示例展示了如何通过ASP.NET AJAX Error 对象的扩展的 create 方法来创建一个新的 Error 对象实例.

CS
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1">
</asp:ScriptManager>
</form>
</body>
</html>

<script type="text/javascript">

Type.registerNamespace('Samples');
Samples.ErrorExample = function(){};
Samples.ErrorExample.prototype =
{
validateNumberRange: function(input, min, max)
{
try
{
// 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
}

document.write("The number entered was within the acceptable range.");
}
catch(e)
{
// If debug mode then write the exception information to the bottom of the page.
// Otherwise show an alert.
if(debug.isDebug)
{
var errType = e.type;
var msg = "(DEBUG MODE)</p>A CLIENT-SIDE RUNTIME EXCEPTION OCCURED:</p>" + e.message + "</p>Error Type: " + errType;
document.write(msg);
}
else
{
alert(e.message);
}
}
}
}

Samples.ErrorExample.registerClass('Samples.ErrorExample');

var errSample = new Samples.ErrorExample();

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

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

</script>

VB
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager runat="server" ID="ScriptManager1">
</asp:ScriptManager>
</form>
</body>
</html>

<script type="text/javascript">

Type.registerNamespace('Samples');
Samples.ErrorExample = function(){};
Samples.ErrorExample.prototype =
{
validateNumberRange: function(input, min, max)
{
try
{
// 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
}

document.write("The number entered was within the acceptable range.");
}
catch(e)
{
// If debug mode then write the exception information to the bottom of the page.
// Otherwise show an alert.
if(debug.isDebug)
{
var errType = e.type;
var msg = "(DEBUG MODE)</p>A CLIENT-SIDE RUNTIME EXCEPTION OCCURED:</p>" + e.message + "</p>Error Type: " + errType;
document.write(msg);
}
else
{
alert(e.message);
}
}
}
}

Samples.ErrorExample.registerClass('Samples.ErrorExample');

var errSample = new Samples.ErrorExample();

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

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

</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值