在 JavaScript 开发中,通常都不太重视起错误处理,捕获和记录错误对于任何项目的开发周期都是至关重要的。随着 TypeScript 项目开发多了,开始意识到并不真正了解错误处理。经常在项目代码中看到一下类似代码:
try {
throw new Error("Oops")
} catch (error) {
console.error(error.message)
}
复制代码
error
是 unknown
类型 ,因此在将其转换为新类型或缩小类型范围之前,不能对 error
执行任何操作。正确的处理方式是缩小类型,将看看如何做到这一点,但为什么这是必要的?
在 JavaScript 中,几乎任何东西都可以被抛出:
throw "oops"
throw 210
throw null
throw { message: "异常错误" }
复制代码
所以真正被捕获的错误是未知的。但是,可以通过使用 TypeScript 的多种方式干净地处理错误。
JavaScript错误的基础知识
JavaScript 中的错误类型,在 JavaScript 中有许多类型的错误,但最常见的是:
ReferenceError
:代码引用了一个不存在的变量。TypeError
:值不是预期的错误类型