JavaScript中的异常处理语句(Try...catch...finally)使用方法介绍

JavaScript中的异常处理语句(Try...catch...finally)使用方法介绍

 从Javascript3.0中添加了异常处理机制,可以采用从java语言中移植过来的模型使用try--catch--finally语句进行异常的处理。

其中包括(try...catch...finally语句)、Error对象、使用throw语句抛出异常等

使用try...catch...finally语句抛出异常

正确代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>try_catch</title>
	</head>
	<body>
		<script>
			var str = 'i like Javascript'
			try{
				//在页面上输出字符串中的下标为5的字符。
				document.write(str.charAt(5))  //执行成功,在页面输出字符串第5位的内容,然后执行finally中的语句
			}catch(exception){
				//当有错误发生时,弹窗输出下列语句
				alert('运行时有异常发生')
				//TODO handle the exception
			}finally{
				alert('结束try...catch...finally语句')
			}
			
		</script>
	</body>
</html>

抛出异常代码:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>try_catch</title>
	</head>
	<body>
		<script>
			var str = 'i like Javascript'
			try{
				//在页面上输出字符串中的下标为5的字符。
				document.write(str.charat(5))  //字符串的函数名书写错误,发生异常,执行catch中的语句
			}catch(exception){
				//当有错误发生时,弹窗输出下列语句
				alert('运行时有异常发生')
				//TODO handle the exception
			}finally{
				alert('结束try...catch...finally语句')
			}
			
		</script>
	</body>
</html>

 

分析可知,当try语句块中包含的语句出现错误的时候,跳出try语句执行catch语句块中的内容,然后如果存在finally语句块,则最后执行finally语句块中的内容。

Error对象

try...catch...finally语句中的catch通常捕捉到的对象为Error对象,当运行JavaScript代码时,如果产生了错误或者异常,JavaScript就会生成一个Error对象的实例来描述错误。该实例包含了一些特定的错误信息。

Error对象有以下两个属性。

name:表示异常类型的字符串

message:实际的错误信息

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>try_catch</title>
	</head>
	<body>
		<script>
			var str = 'i like Javascript'
			try{
				//在页面上输出字符串中的下标为5的字符。
				document.write(str.charat(5))  //字符串的函数名书写错误,发生异常,执行catch中的语句
//				document.write(str.charAt(5))  //执行成功,在页面输出字符串第5位的内容,然后执行finally中的语句
			}catch(exception){
				//当有错误发生时,弹窗输出下列语句
				alert('实际的错误信息为:'+exception.message + '\n错误类型为'+exception.name)
				//TODO handle the exception
			}finally{
				alert('结束try...catch...finally语句')
			}
			
		</script>
	</body>
</html>

 

使用throw语句抛出异常

有些JavaScript代码并没有语法上的错误,但是又逻辑错误,对于这种错误,JavaScript不会抛出异常,这时候需要我们自己定义一个Error对象的实例,并使用throw语句来抛出异常。在程序中我们可以通过使用throw语句有目的的抛出异常,其语法格式如下。

throw new Error('somestatements')

参数说明:

throw:抛出异常关键字

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>try_catch</title>
	</head>
	<body>
		<script>
			var str = 'i like Javascript'
			try{
				var num = 1/0;
				if (num == 'Infinity'){
					throw new Error('除数不可以为0')
				}
			}catch(exception){
				//当有错误发生时,弹窗输出下列语句
				alert('实际的错误信息为:'+exception.message + '\n错误类型为'+exception.name)
				//TODO handle the exception
			}finally{
				alert('结束try...catch...finally语句')
			}
			
		</script>
	</body>
</html>

关于javascript中的异常处理自己记录到此完毕,深入一点的内容后续学习中更新。谢谢!

猜你喜欢

转载自blog.csdn.net/qq_32670879/article/details/82530164