gpt4 book ai didi

javascript - 抛出 JavaScript 异常的标准做法是什么?

转载 作者:IT王子 更新时间:2023-10-29 03:22:22 25 4
gpt4 key购买 nike

w3schools 说异常可以是字符串、整数、 bool 值或对象,但给出的示例在我看来并不是好的做法,因为异常类型检查是通过字符串比较完成的。这是 JavaScript 中异常处理的首选方法吗?是否有内置的异常类型(如 NullPointerException)? (如果是,它们是什么,它们使用什么样的继承,它们是否优于其他选项?)

最佳答案

异常可以是任何你喜欢的。

在其他语言中,异常应该是实例,然后 catch 语句选择要捕获哪些异常以及让哪些异常通过实例的类。

然而,JavaScript 没有这个特性。您只能捕获所有 异常,然后查看值以决定如何处理它。如果您不想处理异常,则必须手动重新抛出捕获的值。 (这不可避免地会使 catch 语句变得相当困惑。)

您可以决定将您的异常实现为对象并将它们与instanceof 进行比较。或者您可以使用独特的不透明值进行比较。或者,如果您真的愿意,您甚至可以直接输入字符串或数字。

Are there built-in exception types (like NullPointerException)?

有点。 ECMAScript 定义了一些标准错误类:Error 及其子类型EvalErrorRangeErrorReferenceErrorSyntaxErrorTypeErrorURIError。但是存在浏览器实现问题,例如 try { nonexistentvar; 在 IE 下给出 TypeError 而不是 ReferenceError。还有许多其他特定于浏览器的异常,尤其是在处理 DOM 时。

直接使用这些对象并不是传统的做法,尝试对它们进行子类化很麻烦(因为 JavaScript 没有这样的类系统)。相反,您会倾向于坚持自己定义的异常以供您自己的应用程序使用。异常在 JavaScript 中并没有被广泛使用。

关于javascript - 抛出 JavaScript 异常的标准做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2825427/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com