码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch

时间:2015-07-23 15:42:41      阅读:113      评论:0      收藏:0      [点我收藏+]

标签:js   javascript   throw   try   catch   

 try      语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。

错误一定会发生,当 JavaScript 引擎执行 JavaScript 代码时,会发生各种错误:可能是语法错误,通常是程序员造成的编码错误或错别字。可能是拼写错误或语言中缺少的功能(可能由于浏览器差异),可能是由于来自服务器或用户的错误输出而导致的错误。当然,也可能是由于许多其他不可预知的因素。当错误发生时,当事情出问题时,JavaScript 引擎通常会停止,并生成一个错误消息。描述这种情况的技术术语是:JavaScript 将抛出一个错误。try 语句允许我们定义在执行时进行错误测试的代码块。catch 语句允许我们定义当 try 代码块发生错误时,所执行的代码块。JavaScript 语句 try 和 catch 是成对出现的。


下面是实例讲解:


<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>JavaScript 错误 - Throw、Try 和 Catch</title>
</head>
<body>
<hr>
try   语句测试代码块的错误。
catch 语句处理错误。
throw 语句创建自定义错误。
<hr>
1.在下面的例子中,我们故意在 try 块的代码中写了一个错字。catch 块会捕捉到 try 块中的错误,并执行代码来处理它。

<script type="text/javascript">
	var msg="";
	function demo1(){
		try{
			//alert("Welcome!");
			aaaaaaaaalert("Welcome!");
		}catch(err){
			msg+="错误提示:\n\n";
			alert(msg+err.message);
		}
	}
</script>
<input type="button" onclick="demo1();" value="查看消息"/>
<hr>
2.Throw 语句
throw 语句允许我们创建自定义错误。正确的技术术语是:创建或抛出异常(exception)。如果把 throw 与 try 和 catch 一起使用,那么您能够控制程序流,并生成自定义的错误消息。异常可以是 JavaScript 字符串、数字、逻辑值或对象。
本例检测输入变量的值。如果值是错误的,会抛出一个异常(错误)。catch 会捕捉到这个错误,并显示一段自定义的错误消息:
<hr>

<script type="text/javascript">
	function demo2(){
		try{
			var x=document.getElementById("demo3").value;
			if(x=="")	 throw "值为空";
			if(isNaN(x)) throw "值非数字!";
			if(x>10)	 throw "值太大";
			if(x<5)	     throw "值太小";
		}catch(err){
			var p=document.getElementById("tip2");
			p.innerHTML="错误:"+err+"!";
		}
	}
</script>

<p>请输入5到10之间的数字:</p>
<input id="demo3" type="text"/>
<input type="button" value="点击检查" onclick="demo2()"/> 
<p id="tip2"></p>

<hr>
</body>
</html>




版权声明:本文为博主原创文章,未经博主允许不得转载。

JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch

标签:js   javascript   throw   try   catch   

原文地址:http://blog.csdn.net/sinat_26342009/article/details/47020765

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!