§ ITPOW >> 文档 >> ASP.NET >> AJAX

一起学 Microsoft AJAX Library-Error 和 Number 类型扩展

作者:vkvi 来源:ITPOW(原创) 日期:2009-5-14

Error 类型扩展

var err = Error.argument([paramName, message])

创建一个 Sys.ArgumentException 的 Error 对象,用来表示程序运行过程中由于参数不合法产生了异常。可选参数 paramName 用以说明哪个参数产生了异常,message 为具体描述。

注意:Error 有字段 name 和 message,但它们并不表示 argument 的两个参数,可以通过 alert 观察这两个属性代表的意义。

try
{
    var v = "cftea";
    if (v.length < 10)
    {
        var err = Error.argument("v", "长度不够");
        throw err;
    }
}
catch (e)
{
    if (e.name == "Sys.ArgumentException")
    {
        alert("某个参数产生了异常。\r\n" + e.message);
    }
}

var err = Error.argumentNull([paramName, message])

创建一个 Error 对象,该对象表示 Sys.ArgumentNullException 异常。

var err = Error.argumentOutOfRange([paramName, actualValue, message])

创建一个表示 Sys.ArgumentOutOfRangeException 异常的 Error 对象。

actualValue 导致该异常的参数值。

var err = Error.argumentType([paramName, actualType, expectedType, message])

创建一个 Error 对象,该对象表示 Sys.ArgumentTypeException 异常。

actualType 参数的实际值。

expectedType 参数值的预期完全限定类型。

var err = Error.argumentUndefined(paramName, message)

创建一个 Error 对象,该对象表示 Sys.ArgumentUndefinedException 异常。

var err = Error.create([message, errorInfo])

创建一个 Error 对象,该对象包含附加错误信息。

errorInfo JavaScript 对象实例,其中包含错误的相关扩展信息。该对象必须具有一个 name 字段,其中包含标识错误的字符串。该对象还可包含对错误进行完全描述的字段。

var err = Error.invalidOperation([message])

创建一个 Error 对象,该对象表示 Sys.InvalidOperationException 异常。

var err = Error.notImplemented([message])

创建一个 Error 对象,该对象表示 Sys.NotImplementedException 异常。

var err = Error.parameterCount([message])

创建一个 Error 对象,该对象表示 Sys.ParameterCountException 异常。

var err = Error.format([message])

创建一个表示 Sys.FormatException 异常的 Error 对象。

Error.name 字段

用以标识错误的名称,字符串,如:Sys.ArgumentException、Sys.ArgumentNullException 等。

Error.message 字段

用以标识错误的描述,字符串。

Error.popStackFrame()

当发生异常,又没有 try catch 该异常时,浏览器就会提示,比如 IE 在状态栏左边会有一个黄色三角形,双击会提示异常的文件、行、列等。popStackFrame 就是为了确保浏览器能够正确定位到产生自定义异常的位置,用示例来说明吧。

function createErr()
{
    Error.popStackFrame(); // 如果注释掉本行,将会提示异常是在 throwErr(err),而不是在 throw e。
    return Error.argument("v", "长度不够");
}
function throwErr(e)
{
    throw e;
}
var err = createErr();
throwErr(err);

Number 类型扩展

var a = numberVar.format(format)

使用固定区域性设置数字格式。

format

  • p 转换成百分数,如:-1,234.56%
  • d 转换成普通的 0-9 数字,如:-1234.56
  • c 转换成带货币符号的形式。
  • n 转换成逗号分隔千位的数字。

var a = numberVar.localeFormat(format)

使用当前区域性设置数字格式。

var numberVar = Number.parseInvariant(value)

从数字的字符串表示形式返回数值。如果 value 代表数字,则返回 value 的浮点表示形式;否则返回 NaN(非数字)。

var numberVar = Number.parseLocale(value)

从特定于区域性的字符串创建数值。

相关阅读

相关文章