Error对象
JavaScript 拥有当错误发生时提供错误信息的内置 error 对象。
error 对象提供两个有用的属性:name 和 message。
但并不是所有宿主平台都只有这两个属性。
非标准的 Error 对象属性
Mozilla 和 Microsoft 定义了非标准的 error 对象属性:
- fileName (Mozilla)
- lineNumber (Mozilla)
- columnNumber (Mozilla)
- stack (Mozilla)
- description (Microsoft)
- number (Microsoft)
Error 对象属性
属性 |
描述 |
name |
设置或返回错误名 |
message |
设置或返回错误消息(一条字符串) |
ErrorName Values
错误名 |
描述 |
EvalError |
已在 eval() 函数中发生的错误 |
RangeError |
已发生超出数字范围的错误 |
ReferenceError |
已发生非法引用 |
SyntaxError |
已发生语法错误 |
TypeError |
已发生类型错误 |
URIError |
在 encodeURI() 中已发生的错误 |
抛出错误
语法:
throw 错误信息(可以是Error对象,普通字符串,数字,布尔值,对象)
错误处理
function name(params) {
if (params === undefined) {
var e = new Error("调用name时所传递的参数太少");
e.name = "自定义错误";
throw e;
}
return -params;
}
try {
//try块内发生错误,不会停止运行
name();
} catch (as) {
//try块里发生错误,会将错误对象传递给catch语句的标识
//标识并不是参数,它具有内外分离的效果.但catch并不拥有函数作用域的特点
console.log(name(10));
} finally {
//不管try块里是否发生错误,finally块都会在try执行完毕被执行
//一般用作清理
}
|