JS中处理错误
来源:互联网 发布:数据库与服务器 编辑:程序博客网 时间:2024/06/07 18:44
1.try throw catch :
当程序在运行过程中出现可预知的错误时,希望程序继续运行不要被打断这时可以将异常抛出,向用户提供有意义的错误信息.
try 语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。
try catch 一般成对出现,如果要创建自定义错误,可以加上throw。
如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。
2.Error 对象:
一般自定义异常时使用,
两种构造方法:
new Error();
new Error(“异常信息”);
Error具有下面一些主要属性:
description: 错误描述 (仅IE可用).
fileName: 出错的文件名 (仅Mozilla可用).
lineNumber: 出错的行数 (仅Mozilla可用).
message: 错误信息 (在IE下同description)
name: 错误类型.
number: 错误代码 (仅IE可用).
stack: 像Java中的Stack Trace一样的错误堆栈信息 (仅Mozilla可用).
3.主要的系统异常:
EvalError: raised when an error occurs executing code in eval()
RangeError: raised when a numeric variable or parameter is outside of its valid range
ReferenceError: raised when de-referencing an invalid reference
SyntaxError: raised when a syntax error occurs while parsing code in eval()
TypeError: raised when a variable or parameter is not a valid type
URIError: raised when encodeURI() or decodeURI() are passed invalid parameters
这些系统异常均继承于Error 。
如果try()块中出现这些异常,catch 会直接捕捉。
4.自定义异常举例: 求一个数的平方根
<script type="text/javascript"> window.onload = function(){ var ans = prompt("Enter a number"); try{ if(!ans || isNaN(ans) || ans<0){ throw new Error("Not a valid number"); } alert(ans + "的平方根是:" + Math.sqrt(ans)); } catch(errMsg){ alert(errMsg.message); } { alert("你猜我会不会执行"); } } </script>
5.代码分析:
- 此处为自定义异常。
- 抛出异常的情况:用户无输入,输入的不是数字,输入了负数。
- try {} 代码块中为可能出现异常的代码, if()条件为真时,抛出异常。这里抛出的异常是 Error 对象,异常信息为参数。如条件为假则无异常继续执行try 中语句。
- catch(e) 捕捉并处理异常。出现错误时,Error对象将作为参数传递给它,此时可以通过 Error 的一系列属性了解异常信息。捕获到的错误才向用户显示。
- 可选部分:在 catch语句之后,可以有一个 { }代码块,无论是否抛出错误,这里的代码都会执行。
-系统异常会直接catch。
6.系统异常举例:
<script type="text/javascript"> window.onload = message; function message(){ try{ allert("hello"); //此处 alert 拼写错误 } catch(e){ alert("错误信息为:"+e.message) } } </script>
运行结果为 错误信息为:allert is not defined
有这个例子可知,异常可以是 JavaScript 字符串、数字、逻辑值或对象。并可以作为 catch的实参被接收。
- JS中错误处理
- JS中处理错误
- 关于js中几个错误的处理
- ECShop js错误处理
- js错误处理
- js错误处理
- JS之错误处理
- JS错误处理
- JS错误处理
- JS 错误处理
- 【面向JS--错误处理】
- js错误处理机制
- ext js中grid的服务器错误处理
- JS 错误处理与调试
- js中的错误处理机制
- JS——错误处理
- JS错误处理与调试
- javascript中错误处理
- ORACLE 查看分区表的相关信息语句
- Jenkins+SVN+AndoriodStudio自动打包(自动化持续构建)
- git 分支命令
- VLAN基本配置
- 编程题汇总1
- JS中处理错误
- [YTU]_2906( 多重继承 日期与时间)
- BZOJ 3073: [Pa2011]Journeys 线段树优化最短路
- Maven常用命令
- 微信内置浏览器返回按钮监听JS
- 深度学习 1
- python字典常用方法大总结
- Hadoop的HA机制
- SVN常用命令