JavaScript throw

抛出异常

在 JavaScript 中,throw 语句用于抛出一个用户定义的异常。执行 throw 语句会抛出一个异常,并停止当前代码的执行。可以使用 throw 语句抛出任何类型的值,包括自定义对象。

基本用法

抛出异常的基本语法如下:

或者抛出一个对象:

检查异常

在 JavaScript 中,通常使用 try...catch 结构来捕获和处理异常。try 块包含可能会抛出异常的代码,而 catch 块则用来处理这些异常。

-- -------------------- ---- -------
--- -
    -- ----------
    -- ----------- -
        ----- -------
    -
- ----- ----- -
    -- ----
    -------------------- - -----
-

自定义异常对象

为了更详细地描述错误,可以抛出自定义的对象,其中包含错误名称、错误消息等信息。例如:

-- -------------------- ---- -------
-------- ------------- -
    -- ---- - --- -
        ----- -
            ----- ----------------
            -------- ------
        --
    -
-

--- -
    -------------
- ----- ----- -
    ------------------------- -----------------
-

在这个例子中,checkAge 函数检查用户的年龄是否小于18岁。如果年龄不足,函数将抛出一个包含错误名称和消息的对象。catch 块接收到这个对象并打印出错误信息。

使用内置异常类型

JavaScript 提供了一些内置的异常类型,如 Error 和其子类。使用这些类型可以创建更具描述性的错误信息。

-- -------------------- ---- -------
-------- ------------- -
    -- ---- - --- -
        ----- --- --------------
    -
-

--- -
    -------------
- ----- ----- -
    ------------------------------------
-

在这个例子中,Error 构造函数被用来创建一个新的异常对象,其中包含了一个简单的错误消息。catch 块接收到这个异常对象并打印出错误消息。

异常链

有时候,异常可能在嵌套的 try...catch 块中被抛出和捕获。为了跟踪异常的来源,可以在捕获的异常对象中添加额外的信息,例如原始异常对象:

-- -------------------- ---- -------
-------- ------------- -
    -- ---- - --- -
        ----- --- --------------
    -
-

-------- ------ -
    --- -
        -------------
    - ----- ----- -
        ----- --- -------- ---- ---------- - ------ --- ---
    -
-

--- -
    -------
- ----- ----- -
    ------------------------------------
    -------------------------------------------
-

在这个例子中,main 函数包裹了对 checkAge 的调用,并在捕获到异常时抛出一个新的异常对象。新的异常对象包含了原始异常的信息,从而使得调试变得更加容易。

总结

通过 throw 语句,JavaScript 程序员可以抛出异常,并且使用 try...catch 结构来处理这些异常。通过抛出和捕获自定义的异常对象,可以提供更详细的错误信息,从而使程序更加健壮和易于维护。此外,通过使用内置的异常类型和异常链机制,可以更好地追踪和处理程序中的错误。

上一篇: JavaScript finally
下一篇: JavaScript class
纠错
反馈