本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JS 异常处理
异常处理的目的是捕捉产生异常的代码,使整个程序不会因为异常而终止运行。在 JavaScript 中,您可以使用 try catch
语句来捕获异常,并做出相应处理,语法格式如下:
try { // 可能会发生异常的代码 } catch(error) { // 发生异常时要执行的操作 }
我们可以将任何可能发生异常的代码放到 try 语句块中,并在 catch 语句块中定义处理异常的方法。如果 try 语句块中的代码发生错误,代码会立即从 try 语句块跳转到 catch 语句块中,如果 try 语句块中代码没有发生错误,就会忽略 catch 语句块中的代码。
<script> try { var title = "JavaScript"; document.write(title); // 调用一个未定义的变量 document.write(str); // 若发生错误,则不会执行以下行 alert("所有语句都已成功执行。"); } catch(error) { // 处理错误 alert("错误信息: " + error.message); } // 继续执行下面的代码 document.write("<p>Hello World!</p>"); </script>
运行结果如下图所示:
当 try 语句块中的代码出现异常时,会创建并抛出一个 Error 对象(例如上面代码内catch(error)中的 error),对象中包含两个属性,如下所示:
-
name:错误的类型;
-
message:对错误的描述信息。
try catch finally
语句
在 try catch 语句的后面,还可以添加一个 finally 语句块,无论 try 语句块中的代码是否发生错误,finally 语句中的代码都会执行。示例代码如下:
<script> // 接收用户输入的参数 var num = prompt("输入一个 0 到 100 的数字"); // 获取当前时间 var start = Date.now(); try { if(num > 0 && num <= 100) { console.log(Math.pow(num, num)); // 指数幂的基 } else { console.log("输入的值无效!"); } } catch(e) { console.log(e.message); } finally { // 显示执行代码所用的时间 console.log("代码执行花费了:" + (Date.now() - start) + "ms"); } </script>
假如我们输入一个小于 100 的数字,例如 88,运行结果如下:
1.3015928349429721e+171 代码执行花费了:0ms
假如我们输入一个大于 100 的数字,例如 123,运行结果如下:
输入的值无效! 代码执行花费了:0ms
【推荐学习:javascript高级教程】
以上就是javascript捕获异常用什么语句的详细内容,更多请关注亿码酷站其它相关文章!
<!––>javascript捕获异常用什么语句
—–文章转载自PHP中文网如有侵权请联系ymkuzhan@126.com删除
转载请注明来源:javascript捕获异常用什么语句
本文永久链接地址:https://www.ymkuzhan.com/46481.html
本文永久链接地址:https://www.ymkuzhan.com/46481.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!