JS异常处理:如何抛出异常

152 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第10天,点击查看活动详情

异常类型

Error:所有错误的父类型

ReferenceError:引用的变量不存在

TypeError:数据类型不正确的错误

RangeError:数据值不在其所允许的范围内

SyntaxError:语法错误

抛出异常

  • message属性:错误相关信息
  • stack属性:函数调用栈记录信息
    在捕获错误时进入调试模式,可以看到:

throw new Error('当前时间为偶数无法执行任务')

这段代码作用是将那段信息传入message

// 抛出错误:throw error
function something() {
    console.log(Date.now());
	if(Date.now()%2===1) {
		console.log('当前时间为奇数,可以执行任务');
	}
	else {
		throw new Error('当前时间为偶数无法执行任务')//传入message
	}
}
// 捕获处理异常
try  {
	something()
} catch (error) {
	console.log('err:',error);
    console.log('message: ', error.message);
   //message:  当前时间为偶数无法执行任务
    console.log('stack:',error.stack)
}