javascript的错误对象error

error

error对象是包含错误信息的对象,是javascript的原生对象。当代码解析或运行时发生错误,javascript引擎就会自动产生并抛出一个error对象的,然后整个程序就中断在发生错误的地方。
error对象包括两个属性:message和name。message属性保存着错误信息,而name属性保存错误类型。

error类型

执行代码期间可能会发生的错误有多种类型。每种错误都有对应的错误类型,而当错误发生时,就会抛出相应类型的错误对象。6种错误类型:

  1. EvalError(eval错误)
  2. RangeError(范围错误)
  3. ReferenceError(引用错误)
  4. SyntaxError(语法错误)
  5. TypeError(类型错误)
  6. URIError(URI错误)

如何自定义错误对象

​ 在大部分的代码执行过程中,都是出现错误的时候,由浏览器(javascript引擎)抛出异常,然后程序或者停止执行
​ 然而有时候我们在检测到一些不合理的情况发生的时候也可以主动抛出错误。
​ 使用 throw 关键字抛出来主动抛出异常。将提供的一个对象作为错误抛出。任何类型的对象都可以,但是error;对象是最常用的。

throw new Error();  
function round(num){
    if(!isNaN(num)){
       	num*=100;
        return num;
    }else{
        // 抛出自定义错误
        throw new Error("参数必须是数字");  
    }
}
var num ="1a";
dome(num)

在这里插入图片描述

错误处理语法结构

	try{
	    //可能抛出错误对象的语句
	}
	catch(用于接收错误对象的变量名){
	    //处理语句
	}finally{
	    //不论错误发生与否都要执行的扫尾语句
	}
try-catch

把有可能出的问题的代码放在 try 语句中。try语句中可以理论上可以写任何的代码,只要有一行代码出现问题,整个程序的执行流程就会立即调到catch语句中执行。
当 try-catch 语句中发生错误时,浏览器会认为错误已经被处理了,浏览器就不再报告错误了。就会继续执行下面的代码。这也是最简单的一种情况。

使用要点
  • 使用try包裹的代码,即使不出错,效率也比不用try包裹的代码低;因为执行try…catch语句比较是比较耗资源的事情。
  • 无法提前预知错误类型的错误,必须用try catch捕获;
try-catch的使用
	function dome(num, d){
	     if(!isNaN(num)){
	       	num*=100;
	        return num;
	    }else{
	        // 抛出自定义错误
	        throw new Error("参数必须是数字");  
	    }
	}
	
	var num ="1a“;
	try{
	    dome(num),
	}catch(erroe){
		console.log("错误抓捕成功");
		console.log(erroe);
		//console.log(erroe.name);//Error
		//console.log(erroe.message);//参数必须是数字
	    //处理语句
		var newnum = dome(1);
	}finally{
	    console.log(newnum)
	}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值