JavaScript可以使用try...catch来进行异常处理
2015-12-31 16:01
806 查看
try {
foo.bar();
} catch (e) {
alert(e.name + ": " + e.message);
} finally{
}
javascript Error 对象:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
e.name 值包括:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();
new Error("异常信息");
手工抛出异常的方法如下:
try { throw new Error("Whoops!");} catch (e) { alert(e.name + ": " + e.message);}
如要判断异常信息的类型,可在catch中进行判断:
try { foo.bar();} catch (e)
{ if (e instanceof EvalError) {
alert(e.name + ":" + e.message); }
else if (e instanceof RangeError) {
alert(e.name + ": " + e.message); }
foo.bar();
} catch (e) {
alert(e.name + ": " + e.message);
} finally{
}
javascript Error 对象:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
e.name 值包括:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
上面的六种异常对象都继承自Error对象。他们都支持以下两种构造方法:
new Error();
new Error("异常信息");
手工抛出异常的方法如下:
try { throw new Error("Whoops!");} catch (e) { alert(e.name + ": " + e.message);}
如要判断异常信息的类型,可在catch中进行判断:
try { foo.bar();} catch (e)
{ if (e instanceof EvalError) {
alert(e.name + ":" + e.message); }
else if (e instanceof RangeError) {
alert(e.name + ": " + e.message); }
相关文章推荐
- 21个值得收藏的Javascript技巧
- 解析Json的谷歌官方方法Gson和阿里巴巴的fastJson方法。
- 跨域访问-JSONP
- javascript进击(一)简介
- js中几种实用的跨域方法原理详解
- Json文件放入Assets文件,读取解析并且放入listview中显示。
- js模拟html锚链接
- javascript禁止复制与粘贴
- JS编码解码
- js判断上传文件大小
- js控制手机号码中间用星号代替
- 从setTimeout谈js运行机制
- Js 时间与字符串转示例
- js函数 Number()、parseInt()、parseFloat()的区别:
- js动态获取图片长宽尺寸(兼容所有浏览器,速度极快)
- 常见的javascript跨域通信方法
- JavaScript 学习日记第一棒
- JS中使用EL表达式
- JSP用common-fileupload实现文件上传下载
- javascript实现input file上传图片预览效果