当前位置:嗨网首页>书籍在线阅读

02-Error对象

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

11.1 Error对象

JavaScript有一个内建的Error对象,它可以用来处理任意类型的错误(异常或预期错误)。还可以在创建Error实例的时候提供一些错误信息:

const err = new Error('invalid email');

创建出的 Error 实例本身不会做任何事。它只提供一个传递错误的载体。假设有一个验证邮箱地址的函数。如果验证成功,函数返回字符串格式的邮箱。否则返回一个 Error 实例。为了方便起见,把任何包含@符号的东西看做是合法邮箱(见第17章):

function validateEmail(email) {
   return email.match(/@/) ?
      email : 
      new Error('invalid email: ${email}');
}

为了使用返回值,可以用 typeof 运算符来判断返回的是不是 Error 实例。然后通过 Errormessage 属性来获取错误信息:

const email = "[email protected]";
const validatedEmail = validateEmail(email);
if(validatedEmail instanceof Error) {
   console.error(`Error: ${validatedEmail.message});
} else {
   console.log('Valid email: ${validatedEmail}');
}

虽然这样使用Error实例完全合法,也很有用,但实际上,它的大部分应用场景都在异常处理中,这也是接下来要讲的内容。