javascriptError 对象 错误处理

时间:2021-05-26

Error对象

Property:
name:错误名
number:错误号
description:描述
message:错误信息,多同description
FFOnly属性
fileName:错误发生的文件
stack:错误发生时的调用堆栈


Constructor:
Error(){
this(0,"")}

Error(description){
this(0,description)}

Error(number,description){
....}

构造函数参数不带name,是因为Error对象的name对应于它的来源:
EvalError:错误发生在eval()中
SyntaxError:语法错误,错误发生在eval()中,因为其它点发生SyntaxError会无法通过解释器
RangeError:数值超出范围
ReferenceError:引用不可用
TypeError:变量类型不是预期的
URIError:错误发生在encodeURI()或decodeURI()中

抛出Error:
thrownewError(0,"ErrorDemo");
newError可省略:
throw("ErrorDemo");

捕获Error:
trycatchfinally语句:
try{
..可能错误的语句..}
catch(e){
..错误发生后的处理..}
finally{
..完成后执行的语句块..}
finally不是必须的
如果嵌套,两个catch不要使用同一个参数名,以免覆盖
传入的参数是一个Error对象,可以从中得到错误信息
FF支持一个try多个catch,因为Js为弱类型不推荐使用

window.onerror错误捕获:
window.onerror=function(Msg,Url,Num){}
onerror事件会传给回调函数3个默认参数
Msg:错误信息
Url:发生错误的文件的Url
Num:错误发生位置的行号
window.onerror还能处理SyntaxError,比trycatch更强大。
但是onerror属于bom,所以各浏览器厂家对其的支持都不同。
如IE发生error时,正常的代码会继续执行;在FF中,代码将结束;Safari只支持Image的onerror事件处理。

Image.onerror
onerror还可以应用于其它HTMLElement上,最常见的是<img/>元素
<imgsrc="sample.jpg"onerror="javascript:alert('图像载入错误');"/>

处理Error:
判断错误类型:
catch(e){
if(e.name=="RangeError")
alert("错误提示");}

catch(e){
if(einstanceofTypeError)
alert("错误提示");}

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章