
上QQ阅读APP看书,第一时间看更新
1.10 JavaScript的异常处理
当JavaScript引擎执行JavaScript代码时,可能发生各种错误,如下所列。
(1)语法错误,通常是程序员造成的编码错误或错别字。
(2)拼写错误或语言中缺少的功能(可能由于浏览器差异导致)。
(3)由于来自服务器或用户的错误输入而导致的错误。
(4)由于许多其他不可预知的原因导致。
当错误发生或当事件出现问题时,JavaScript将抛出一个错误。JavaScript使用try...catch...语句处理这些异常,try语句和catch语句总是成对出现。
语法格式:

try语句用于测试代码块的错误,允许用户定义在执行时进行错误测试的代码块。
catch语句用于处理错误,允许定义当try代码块发生错误时所执行的代码块。
在下面的示例代码中,我们故意在try块的代码中将“alert”写成了“Alert”,即首字母写成大写“A”。catch块会捕捉到try块中的错误,并执行代码来处理它。
例如:

throw语句允许用户自行定义错误或抛出异常(exception)。
如果把throw与try和catch一起使用,就能够控制程序流,并生成自定义的错误消息。
语法格式:throw exception
异常可以是JavaScript字符串、数字、逻辑值或对象。
例如:

以上实例代码用于检测输入的值。如果值是错误的,会抛出一个异常(错误)。catch会捕捉到这个错误,并显示一段自定义的错误消息。
以上实例代码中如果getElementById函数出错,也会抛出一个错误。