JavaScript错误-throw和try to catch

JavaScript错误

在执行JavaScript代码的时候,会发生很多错误
错误可能是程序猿的编码错误,由错误输入引起的错误,或者其他不可见的原因

  • try语句使我们能够测试代码中的错误
  • catch语句能够允许我们自己处理错误
  • throw允许自定义创建错误
  • finally能够在无论try和catch结果是什么的前提下自定义都能执行的代码片段
  1. 实例运用 trycatch
<p id="demo"></p>
<script>
try{
  allert('欢迎您');
}
catch(err) {
  document.getElementById("demo").innerHTML = "err.message"
}
</script>

在测试(try)代码片段时,allert是一个没有被定义的方法,所以最终结果返回的是:allert is not defined

  1. 实例运用 try、catch、throw 和 finally
    <p>请输入5-10之间的数字</p>
	<input type="text" id="demo">
	<input type="button" value="测试输入" onclick = "myFunction()">
	<p id="message"></p>
	<script>
		function myFunction(){
			var message = document.getElementById("message");
			var x = document.getElementById("demo").value;
			console.log(x);
			try{
				if(x=="") throw "空的";
				if(isNaN(x)) throw "不是数字";
				if(x<5) throw "太小";
				if(x>10) throw "太大"
			}
		    catch(err){
		    	message.innerHTML = err;
		    }
		    finally {
		    	document.getElementById("demo").value = '';
		    }
		}
	</script>

在上面这串代码中,throw后面自定义了很多错误来供catch来调用,finally表示不管上面执行的是什么,最后我都要将输入框中的内容清空

  1. Error对象
    JavaScript拥有当错误发生时提供错误信息的内置error对象。
    error对象提供两个有用的属性:name和message。
属性描述
name设置或者返回错误名
message设置或返回错误消息(一条字符串)

如第一个例子返回的err.name和err.mseeage分别是

allert is not defined  // err.message
ReferenceError  // err.name  非法引用
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值