JavaScript错误
2022/5/1 12:43:00
本文主要是介绍JavaScript错误,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
声明
该文部分代码和内容节选自菜鸟教程,仅用作个人学习,特此声明
链接:https://www.runoob.com/
15、JavaScript错误
当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误。可能是语法错误,通常是程序员造成的编码错误或错别字。可能是拼写错误或语言中缺少的功能(可能由于浏览器差异)。可能是由于来自服务器或用户的错误输出而导致的错误。当然,也可能是由于许多其他不可预知的因素。
try、catch、finally、throw
try 语句测试代码块的错误,catch 语句处理错误。
finally 语句在 try 和 catch 语句之后,无论是否有触发异常,该语句都会执行。
try 语句允许我们定义在执行时进行错误测试的代码块。
catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。
JavaScript 语句 try 和 catch 是成对出现的。
try catch finally 语法为
try { ... //异常的抛出 } catch(e) { ... //异常的捕获与处理 } finally { ... //结束处理 }throw 语句创建自定义错误。
- 当错误发生时,JavaScript 引擎通常会停止,并生成一个错误消息。描述这种情况的技术术语是:JavaScript 将抛出一个错误。
1、try catch 语句
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>try catch练习实例</title> <script> var txt=""; function message(){ try { adddlert("Welcome guest!"); } catch(err) { txt="本页有一个错误。\n\n"; txt+="错误描述:" + err.message + "\n\n"; txt+="点击确定继续。\n\n"; alert(txt); } } </script> </head> <body> <input type="button" value="查看消息" onclick="message()" /> </body> </html>
2、throw finally 语句
throw 语句允许我们创建自定义错误。
正确的技术术语是:创建或抛出异常(exception)。
把 throw 与 try 和 catch 一起使用可以控制程序流,并生成自定义的错误消息。
语法
throw 异常
异常可以是 JavaScript 字符串、数字、逻辑值或对象。
finally 语句不论之前的 try 和 catch 中是否产生异常都会执行该代码块。**
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>finally练习</title> </head> <body> <p>不管输入是否正确,输入框都会在输入后清空。</p> <p>请输入 5 ~ 10 之间的数字:</p> <input id="demo" type="text"> <button type="button" onclick="myFunction()">确认</button> <p id="p01"></p> <script> function myFunction() { var message , x; message = document.getElementById("p01"); message.innerHTML = ""; x = document.getElementById("demo").value; try { if(x == "") throw "输入值为空"; if(isNaN(x)) throw "输入值不属于数字类型"; x = Number(x); if(x > 10) throw "输入值超出范围上限"; if(x < 5) throw "输入值超出范围下限"; } catch(err) { message.innerHTML = "错误: " + err + "."; } finally { document.getElementById("demo").value = ""; } } </script> </body> </html>
这篇关于JavaScript错误的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15鸿蒙生态设备数量超8亿台
- 2024-05-13TiDB + ES:转转业财系统亿级数据存储优化实践
- 2024-05-09“2024鸿蒙零基础快速实战-仿抖音App开发(ArkTS版)”实战课程已上线
- 2024-05-09聊聊如何通过arthas-tunnel-server来远程管理所有需要arthas监控的应用
- 2024-05-09log4j2这么配就对了
- 2024-05-09nginx修改Content-Type
- 2024-05-09Redis多数据源,看这篇就够了
- 2024-05-09Google Chrome驱动程序 124.0.6367.62(正式版本)去哪下载?
- 2024-05-09有没有大佬知道这种数据应该怎么抓取呀?
- 2024-05-09这种运行结果里的10.100000001,怎么能最快改成10.1?