重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要讲解了“怎么处理JavaScript导致的意外”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么处理JavaScript导致的意外”吧!
在鹤岗等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站制作 网站设计制作按需定制制作,公司网站建设,企业网站建设,品牌网站设计,营销型网站建设,成都外贸网站建设,鹤岗网站建设费用合理。
在许多编程语言中,当试图执行一个非法指令时,代码都会导致一个运行时间意外。我们可能经历的一个最微不足道的非法操作就是“除以0”错误。JavaScript
不会执行这一操作,它将给结果变量赋值为无穷大。其它的非法操作对于其它编程语言也很普遍,包括
JavaScript。访问一个空指针或一个空对象也是一个例子,访问一个超出数组合法范围的数组元素是另一个例子。
对于开发人员而言,通常是争取避免发生系统错误的。系统信息通常很含糊,一般的用户看不懂。事实上,系统错误将严重影响一个程序员的声誉,因为它们是臭虫(Bug)的清楚明白的证据。我们希望在代码中查找这些错误,在它们攻击操作系统之前发现它们以避免产生错误信息。在代码中查找意外会造成代码臃肿。当语言不支持意外处理时,将正常的代码流和错误查找混合在一起在所难免。以下的代码将查找两个错误
- 访问一个空对象和超出范围的数组元素:
var newObject = createObject(dataPiece1, dataPiece2,
dataPiece3);
if (newObject == null) {
// do something here when the object
was not created
...
}
else {
// getElementIndex return an index or
-1 for an error
var index = newObject.getElementIndex();
if (index == -1)
{
// handle the error case
...
}
else {
{
// finally, you can
do something with index
...
}
在 JavaScript
中支持意外处理的关键所在(在其它语言中也是一样,本文后面将做解释)是 try...catch 语句。 Try
这个关键字引导着一块可能会引起意外的正常处理代码,Catch 关键字引导着一块意外处理代码。一旦 try
这个区中引发了一个意外,程序流程的控制就切换到跟随它的第一个 catch 区域。但是一旦由 JavaScript
引发(这正是程序员所反对的),就没有机制能够断定错误的类型。以下是用来模拟上面流程的 try...catch 代码区:
try {
var
newObject = createObject(dataPiece1, dataPiece2, dataPiece3);
var index =
newObject.getElementIndex();
// do something with index
}
catch
{
alert("System Error; Call your sw vendor");
}
下面是另一个例子,可以在你的计算机上实际运行:
< HTML>
< HEAD>
< TITLE>
example 1 < /TITLE>
< /HEAD>
< BODY>
< IMG
SRC="doc.gif">
< SCRIPT LANGUAGE="JavaScript1.2">
< !--
try
{
for (image=0; image < document.images.length + 2; image++)
{
alert(document.images[image].border);
}
}
catch (kuku)
{
alert("We have experienced a JavaScript error");
}
// -->
<
/SCRIPT>
< /BODY>
< /HTML>
这个例子中执行的意外是访问数组边界外的一个数组元素。在页面(doc.gif) 上,图形数是length (1),所以使用的最大指针是length+1
(2)。请注意传递给 catch
(捕捉)区的变量kuku。JavaScript允许传递任何变量类型,在以后的页面中将做解释。虽然我们并不使用这个变量,但你必须要指定一个。
感谢各位的阅读,以上就是“怎么处理JavaScript导致的意外”的内容了,经过本文的学习后,相信大家对怎么处理JavaScript导致的意外这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!