`
san_liuhongbin
  • 浏览: 20372 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

javascript错误处理(1)

阅读更多
javascript 提供了两种特别的错误处理的方式.
BOM包含一个onerror事件处理函数,这在window和img对象上都有,同时,ECMAScript定义了另外一个从Java中借过来的try...catch...finally..结构,来处理异常.
1.onerror事件处理函数

onerror事件是在window对象触发的.

eg:

<script type='text/javascrpt'>
window.onerror=function(){	     
     alert('An error occurred');
     return true;    //prevent the web browser's default action.
}
window.onload=function(){	
     nonExistentFunction();
}
</script>

 

 

onerror事件处理函数提供了三个参数

  1. 错误信息----对于给定错误,浏览器会显示同样的信息
  2. URL----在哪个文件中发生了错误
  3. 行号----给定URL中发生错误的行号

eg:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>js error details</title>
		<link rel=stylesheet href="" />
		<style type="text/css">
			<!--
			-->
		</style>
    <script type="text/javascript">
    	window.onerror=function(sMessage, sUrl, sLine){
    		alert("An error occurred: \n"+sMessage+"\nURL: "+sUrl+"\nLine Number: "+sLine);
    		return true;
    	}
    </script>
	</head>
	<body onload='nonExsitentFunction();'>
	</body>
</html>

图象载入错误.

eg:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>img load error</title>
		<link rel=stylesheet href="" />
		<style type="text/css">
			<!--
			-->
		</style>
    <script type="text/javascript">
    	function handleLoad(){
    		document.images[0].onerror = function(){
    			alert("An error occurred loading the image.");
    		}
    		document.images[0].src='blue.gif';
    	}
    	
    </script>
	</head>
	<body onload='handleLoad();'>
		<p>The image below attempts to load a file that doesn't exist.</p>
		<img/>
	</body>
</html>

 

注意: 与window对象的onerror事件处理函数不同, image的onerror事件处理函数没有任何关于额外信息的参数.

 

处理语法错误.

onerror不仅可以处理exception,它还能处理语法错误,也只有它才能处理.

Attention: 事件处理函数必须是页面中的第一个出现的代码:

eg:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
	<head>
		<title>js error details</title>
		<link rel=stylesheet href="" />
		<style type="text/css">
			<!--
			-->
		</style>
    <script type="text/javascript">
    	window.onerror=function(sMessage, sUrl, sLine){
    		alert("An error occurred: \n"+sMessage+"\nURL: "+sUrl+"\nLine Number: "+sLine);
    		return true;
    	}
    	
    	alert('syntax error.'; 
    </script>
	</head>
	<body>
	</body>
</html>

使用onerror事件处理函数的主要问题是,它是BOM的一部分,所以没有任何标准能控制它的行为.因此,不同的web browser使用这个事件处理函数处理错误方式有明显的不同. 例如, 在IE中发生error事件时, 正常代码会继续执行: 所有的变量和数据都保留下来, 并通过onerror事件处理函数访问.然后在Mozilla中,正常的代码执行都会结束,同时所有错误发生之前的变量和数据都被销毁.

Safari和Konqueror 不支持window对象上的确onerror事件处理函数,但是他们支持图象上的onerror事件处理函数.

 

(选自JavaScript高级程序设计  待续)

0
0
分享到:
评论

相关推荐

    JavaScript错误处理.docx

    JavaScript错误处理.docx

    24、JavaScript错误处理与调试工具

    本篇将深入探讨JavaScript错误处理和调试工具的重要知识点。 首先,我们要了解JavaScript中的错误类型。JavaScript定义了一系列内置的Error对象,包括TypeError、ReferenceError、RangeError、SyntaxError等,这些...

    JavaScript Cheat Sheet.pdf

    JavaScript基础知识点总结 JavaScript是当前最流行的编程语言之一,广泛应用于Web开发中,...JavaScript错误处理 1. 错误处理是指捕获和处理代码执行中的错误。 2. 错误处理可以通过try-catch语句和Error对象实现。

    JavaScript错误与异常处理

    JavaScript错误与异常处理是编程实践中不可或缺的部分,尤其是在JavaScript这样的脚本语言中,错误处理显得尤为重要。JavaScript中的错误分为两种主要类型:语法错误和运行错误。语法错误,也称为错误(Error),是...

    JavaScript错误处理

    JavaScript错误处理是编程过程中不可避免的部分,它涉及到识别、捕获和响应代码运行时可能出现的问题。本文将详细探讨JavaScript中的错误分类、处理机制以及如何有效地管理错误。 首先,我们来了解JavaScript中的...

    JavaScript错误处理和堆栈追踪浅析.doc

    JavaScript错误处理和堆栈追踪是JavaScript编程中至关重要的部分,特别是在进行复杂应用开发和测试时。错误处理确保程序在遇到问题时能够优雅地失败,而不是崩溃,而堆栈追踪则帮助开发者快速定位错误发生的位置,...

    深入分析javascript中的错误处理机制

    为了确保程序的健壮性,JavaScript提供了一套完整的错误处理机制,使得开发者能够捕获、处理和恢复从语法错误到逻辑错误的各种问题。本文将深入探讨JavaScript中的错误处理机制,主要包括错误对象、错误类型以及如何...

    JavaScript程序设计课件:错误处理与代码调试.pptx

    错误处理 6.5.1 错误处理 1、错误的产生 在编写JavaScript程序时,经常会遇到各种各样的错误。比如调用了不存在的方法、引用了不存在的变量等。 6.5.1 错误处理 示例 错误类型:Uncaught TypeError 也就是发生了一个...

    JavaScript异常处理

    JavaScript异常处理是编程中至关重要的一个环节,它用于管理和修复代码执行过程中可能出现的错误或异常情况。异常处理机制使得程序能够在遇到错误时不会立即终止,而是有机会进行适当的恢复或者给出反馈,增强了程序...

    错误处理的艺术:精通JavaScript中的异常管理

    ### 错误处理的艺术:精通JavaScript中的异常管理 在当今高度依赖互联网的世界中,JavaScript(简称JS)作为一种轻量级且强大的编程语言,在构建交互式的Web应用程序方面扮演着至关重要的角色。JavaScript的主要...

    JavaScript基础语法-控制流与错误处理.pdf

    JavaScript基础语法——控制流与错误处理

    基于JavaScript和LR1分析的C语言智能错误处理编译.zip

    基于JavaScript和LR1分析的C语言智能错误处理编译

    JavaScript错误处理操作实例详解

    JavaScript错误处理是编程中至关重要的一个环节,它确保了程序在遇到问题时能够优雅地运行,而不是突然崩溃。本文将详细介绍JavaScript中常见的错误处理机制、错误类型及其处理方法。 首先,我们关注的是`try-catch...

    深化分析javascript中的错误处理机制_.docx

    在JavaScript编程中,错误处理是不可或缺的一部分,因为它能够帮助开发者识别、调试和修复程序中的问题,从而提供更稳定、更可靠的用户体验。本文将深入探讨JavaScript中的错误处理机制,主要包括错误对象、错误的...

    WEB开发 之 JavaScript 错误 - Throw、Try 和 Catch.docx

    JavaScript错误处理是WEB开发中的一个重要方面。在JavaScript中,错误可能来自语法错误、拼写错误、服务器或用户的错误输出等多种原因。因此,了解如何正确地处理错误是非常重要的。 在JavaScript中,有三种主要的...

    全面了解javascript中的错误处理机制_.docx

    JavaScript中的错误处理机制是编程过程中不可或缺的一部分,它确保了程序在遇到问题时能够优雅地处理并提供反馈。错误处理通常涉及到捕获、处理和记录错误,以防止程序意外终止,同时提高用户体验。 首先,我们来看...

    JavaScript标准参考教程

    《JavaScript标准参考教程》是一本全面介绍JavaScript编程语言的书籍,其内容涵盖了从基础语法、数据类型、函数到高级特性如数组操作、错误处理、编程风格等各个方面的知识。阮一峰作为作者,将多年的经验和网络资料...

    浅谈javascript错误处理

    首先,JavaScript错误可以分为多种类型。最基础的是语法错误(SyntaxError),这是由于代码不符合JavaScript语法规则而引发的,例如拼写错误、遗漏的括号或分号等。运行时错误(TypeError)则是因为尝试对非预期类型...

Global site tag (gtag.js) - Google Analytics