天天看点

js 报错提示三连之throw

相信很多码农对 throw 语句并不熟悉, 因为码农的第一目标是消灭报红, 而 throw 的主要作用就是报红

面向用户的项目中, 程序报错大概是个很糟糕的用户体验

但事物都有双面性, 在面向开发者的框架工具中, 报错信息无疑是必不可少的重要内容

throw - JavaScript | MDN

throw语句用来抛出一个用户自定义的异常。当前函数的执行将被停止(throw之后的语句将不会执行),并且控制将被传递到调用堆栈中的第一个catch块。如果调用者函数中没有catch块,程序将会终止。

throw 只能在 try…catch 的 try 中使用, 一旦触发会阻断后面的代码, 错误会被 catch 捕获

throw 的用法与 return 的用法非常相似, throw “报错信息”

报错信息并没有明确要求, 也就是说可以是 new Error(), 字符串, 数组, 对象等等

throw { a: 1 }
throw "报错信息"
throw [1, 2, 3]
throw true
           

throw 没有被捕获的话, 就会直接报到控制台, 并阻断以后的代码

一个完整的报错提示至少有三个步骤

  • Error: 创建一个错误对象
  • throw: 抛出(触发)一个错误
  • try…catch: 捕获(处理)错误

常规用法演示

function fun() {
	// new Error() 创建一个错误对象
	// 用 throw 抛出一个错误
	throw new ReferenceError("这是一个报错信息")
}

try {
	// 在 try 中执行一个可以报错的函数
	fun()
} catch(error) {
	// 函数如期抛出错误, 并被 catch 捕获

	// 打印捕获的报错信息
	console.log(error)
}
           

报错提示三连

  1. js 报错 Error 随笔 - 报错提示三连之Error
  2. js throw 语句随笔 - 报错提示三连之throw
  3. js try…catch 语句随笔 - 报错提示三连之try…catch

end

继续阅读