JS常见错误(Error)及处理方案详解
作者:BAHG 发布时间:2024-04-22 22:24:34
标签: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)
}
来源:https://www.cnblogs.com/BAHG/p/12908806.html


猜你喜欢
- 使用MySQL,安全问题不能不注意。以下是MySQL提示的23个注意事项:1、如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就
- 我们直接先给出输出与预期不同的代码In[28]: a = [1,2,3,4,5,6]In[29]: for i in a: ...: &nb
- 目录1、可迭代对象1.1什么是可迭代对象1.2怎么判断2、字符串的for循环3、列表的for循环4、元组的for循环5、字典的for循环5.
- 用鼠标创建小球,一个蹦来蹦去的解压小游戏…… 本次需要的外置包:pygame,pymu
- mysql数据库版本从5.6.28升到8.0.11过程中部署项目时遇到的问题和解决方法,具体介绍如下所示:首先这个项目用到了hibernat
- oracle命令删除用户:connect / as sysdba; shutdown abort; startup;&n
- 前言:协程(coroutine)是 Go 语言最大的特色之一,goroutine 的实现其实是通过协程。协程的概念协程一词最早出现在 196
- 由于本人使用的是Android设备做自动化测试,所以以下内容均基于Android系统做出的整理一、启动app启动app需要设置Capabil
- 目录一. pymysql介绍二. 连接数据库的完整流程1. 引入pymysql模块2. 创建连接对象3. 使用连接对象创建游标对象4. 准备
- 效果展示爬取目标网址:酷我音乐工具使用开发工具:pycharm开发环境:python3.7, Windows10使用工具包:requests
- 百度AI接口的调用方法不必多介绍。官网地址人流量统计新建AipBodyAnalysisfrom aip import AipBodyAnal
- PHP PDO预定义常量以下常量由本扩展模块定义,因此只有在本扩展的模块被编译到PHP中,或者在运行时被动态加载后才有效。注意:PDO使用类
- MySQL数据库没有增量备份的机制,但它提供了一种主从备份的机制,就是把主数据库的所有的数据同时写到备份数据库中。实现MySQL数据库的热备
- 发现问题当我用pip安装好opencv-pyton后,我激动得在python项目中导入cv2就像这样:import cv2 as cvbut
- 迭代器(Iterable):能直接作用于for循环的对象,统称可迭代对象。例如:list、tuple、set、str、generator都是
- 1、Git版本库介绍每个Git版本控制系统的主机中,都可以包含若干个本地版本库,一般情况下一个本地版本库对应一个项目,用于对某个特定项目中的
- 本文总结了一些简单基本的输出格式化形式,下面话不多说了,来看看详细的介绍吧。一、打印字符串>>> print "
- 1、概述python * 殊方法(魔术方法)是被python解释器调用的,我们自己不需要调用它们,我们统一使用内置函数来使用。例如:特殊方法_
- 一 . 得到这个对象的实例Connection con ;con = DriverManager.getConnection(url,use
- 介绍Addit 是一个Python模块,除了提供标准的字典语法外,Addit 生成的字典的值既可以使用属性来获取,也可以使用属性进行设置。这