错误类型

  • Error:所有错误的父类型
  • ReferenceError:引用的变量不存在
  • TypeError:数据类型不正确的错误
  • RangeError:数据值不在其所允许的范围内
  • SantaxError:语法错误
  1. console.log(num)
  2. // ReferenceError: num is not defined
  3. let b = null;
  4. console.log(b.xx)
  5. // TypeError: Cannot read property 'xx' of null
  6. function fun() {
  7. fun();
  8. }
  9. fun();
  10. // RangeError: Maximum call stack size exceeded
  11. const c= """"
  12. // SyntaxError: Unexpected string

捕获错误

  1. try{
  2. let d ;
  3. console.log(d.xxx)
  4. }catch(err){
  5. console.log(err.message) // 错误信息
  6. console.log(err.stack) // 显示错误位置
  7. }

抛出错误

  1. // 抛出错误
  2. function random(){
  3. let num = Math.random();
  4. if(num > 0.5){
  5. console.log('小于0.5')
  6. }else{
  7. throw new Error('抛出错误,大于0.5')
  8. }
  9. }
  10. // 捕获错误信息
  11. try{
  12. random()
  13. }catch(err){
  14. console.log(err.message)
  15. }