福州网站建设加q479185700,肉山谷英雄传说新手任务登录英文网站怎么做,企业年报查询官网入口,wordpress最新发布模块错误处理 1 try-catch语句 ECMA-262第3版引入了try-catch语句#xff0c;作为Javascript中处理异常的一种标准方式#xff0c;基本的语句如下: try{// 可能发生错误的代码}chatch(error){// 在错误发生时怎么处理} 如果try块中的任何代码发生了错误#xff0c;就会立即退出代… 错误处理 1 try-catch语句 ECMA-262第3版引入了try-catch语句作为Javascript中处理异常的一种标准方式基本的语句如下: try{// 可能发生错误的代码}chatch(error){// 在错误发生时怎么处理} 如果try块中的任何代码发生了错误就会立即退出代码执行过程然后接着执行catch块。此时catch块会收到一个包含错误信息的对象。这个对象中包含的实际信息会因为浏览器不同而不同但共同的是有一个保存错误消息的message属性。因此在发生错误时就可以像下面这样实事求是的显示浏览器的给出的信息: try{window.someNonexistentFunction();}catch(error){alert(error.message);} 2 finally子句 虽然在try-catch中是可选的但是finally子句一经使用其代码无论如何都会执行。try语句中的代码全部正常执行finally子句会执行如果因为出错而执行了catch子句中的代码finally子句照样还是会执行。只要代码中包含finally子句则无论try或catch语句块中的代码甚至return语句都不会阻止finally子句的执行: function testFinally(){try{return 2;}catch(error){return 1;}finally{return 0;}} 错误类型 执行代码期间可能会发生的错误有多种类型。当错误发生时就会抛出相应类型的错误信息ECMA-262定义了下列7种错误类型: ErrorEvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError其中Error是基类性其他错误类型都继承自该类型。Error类型的错误很少见如果有也是浏览器抛出的这个基类的主要目的是提供开发人员抛出自定义异常。 EvalError类型的错误会在使用eval()函数的而发生异常时被抛出。如果没有把eval()当成函数调用就会抛出错误。 RangeError类型的错误会在数值超出相应范围时触发。 ReferenceError类型的错误会在找不到对象的情况下发生通常在访问不存在的变量时就会发生这种错误。 SyntaxError类型的错误当我们把语法错误的Javascript字符串传入eval()函数时就会导致此类错误。 TypeError类型的错误在变量中保存着意外的类型或者在访问不存在的方法时都会导致这种错误。 URIError类型的错误在使用encodeURI()或decodeURI()而URI格式不正确时就会导致URIError错误。 利用不同函数的错误类型可以获悉更多有关异常的信息可以像下面这样在try-catch语句的catch语句中使用instanceof操作符: try{someFunction();}catch(error){if(error instanceof TypeError){//处理类型错误}else if(error instanceof ReferenceError){//处理引用错误}else{//处理其他类型的错误}} 在跨浏览器编程中检查错误类型是确定处理方式的最简便途径包含在message属性中的错误消息会因浏览器而异。 转载于:https://www.cnblogs.com/huangt/p/3855700.html