zoukankan      html  css  js  c++  java
  • 理解JS中的错误(Error)和错误处理

     1. 错误的类型

       Error: 所有错误的父类型
       错误的子类型包括:
           ReferenceError: 引用的变量不存在
           TypeError: 数据类型不正确的错误
           RangeError: 数据值不在其所允许的范围内
           SyntaxError: 语法错误
     
    常见的内置错误:
    (1)ReferenceError: 引用变量不存在
    console.log(a) //ReferenceError: a is not defined
    (2)TypeError: 数据类型不正确
    var b = {}
    b.xxx() //TypeError: b.xxx is not a function
    (3)RangeError: 数据值不在其所允许的范围内
    function fn(){
      fn()
    }
    fn() //RangeError: Maximum call stack size exceeded
    (4)SyntaxError: 语法错误
    const c = """" //SyntaxError: Unexpected string

     2. 错误处理

       捕获错误: try ... catch
       抛出错误: throw error
     
    (1)捕获错误
    try {
       let d
       console.log(d.xxx)
    } catch (error) { //可以通过调试查看error对象的属性(message属性: 错误相关信息;stack属性: 函数调用栈记录信息)
     console.log(error.message)
     //console.log(error.stack)
    }
    // 可以继续向下执行
    console.log('出错之后')

    (2)抛出错误

     function something() {
        if (Date.now() % 2 === 1 ){
        console.log('当前时间为奇数,可执行任务')
        } else {
        throw new Error('当前时间为偶数无法执行任务')
        }
    }
    
    //情况1 直接调用
    something() //Error: 当前时间为偶数无法执行任务
    console.log('something之后') //不会继续这句代码(没有对异常进行处理)
    
    //情况2 捕获处理异常
    try {
      something()
    } catch(error) {
      console.log(error.message)
    }
  • 相关阅读:
    Ogre中的旋转变换问题 Vector3 , Quaternion,matrix
    OIS几个重要的类的使用
    Ogre中的向量Vector3的成员方法
    用Ogre画三角形
    pitch yaw roll 的区别
    OGRE中用到的设计模式
    OGRE体系结构(类的继承关系)
    OGRE教程SceneNode, Entity, SceneManager and Get start 的讲解
    Asp.net Mvc 身份验证、异常处理、权限验证(拦截器)
    Asp.Net Mvc2 OA工作流设计思路
  • 原文地址:https://www.cnblogs.com/BAHG/p/12908806.html
Copyright © 2011-2022 走看看