function TestTryCatch(){ try { } catch (error) { //error 类型如下 Error EvalError RangeError ReferenceError //SyntaxError TypeError URIError if(error instanceof TypeError){ }else if( error instanceof ReferenceError){ }else{ } } finally{ } } //17.2.2 抛出错误 function process(values){ if(!(values instanceof Array)){ throw new Error(‘process():Argument must be an array‘); } values.sort(); for(var i=0,len=values.length;i<len;i++){ if(values[i] >100){ return values[i]; } } return -1; } //自定义错误 function CustomError(message) { this.name =‘CustomError‘; this.message = message; } CustomError.prototype =new Error(); //17.2.3 错误(error)事件 window.onerror =function(message,url,line){ alert(message); return false; } //throw new CustomError(‘CustomError‘); var image = new Image(); image.addEventListener(‘load‘,function(event){ alert(‘Image loaded‘); },false); image.addEventListener(‘error‘,function(event){ alert(‘Image not laoded‘); },false); image.src =‘smilex.gif‘; //17.2.4 处理错误的策略 //略 //17.2.5 常见的错误类型 function concat(str1,str2,str3){ var result =str1+str2; if( typeof str3 ==‘string‘){ result +=str3; } return result; } function getQueryString(url){ if( typeof url ==‘string‘){ var pos = url.indexOf(‘?‘); if(pos>-1){ return url.substring(pos+1); } } } function reverseSort(values){ if( typeof values.sort ==‘function‘){ values.sort(); values.reverse(); } } //17.2.6 区分致命错误和非致命错误 //17.2.7 把错误记录到服务器
原文地址:https://www.jb51.cc/js/639462.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。