From cc43022ecef58ec82c65842b4353cf469a74f380 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Wed, 16 Sep 2026 19:01:15 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20error=20=E6=B3=A8=E9=87=8A=E9=BB=91?= =?UTF-8?q?=E8=AF=9D=E6=B8=85=E6=89=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_builtins/src/error.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/oxide_builtins/src/error.rs b/crates/oxide_builtins/src/error.rs index cfc08f34..9cdd5b14 100644 --- a/crates/oxide_builtins/src/error.rs +++ b/crates/oxide_builtins/src/error.rs @@ -158,9 +158,9 @@ fn set_own_data_prop(host: &mut H, obj: *mut JsObject, key: &str, val /// `SuppressedError(error, suppressed, message)` 构造器:三参,length=3。 /// -/// 以规范 CreateSuppressedError 语义建对象,三字段属性创建顺序为 -/// message → error → suppressed(order-of-args-evaluation 严格断言), -/// message 为 undefined 时省略;三者均非枚举数据属性。 +/// 以规范 CreateSuppressedError 语义建对象,三字段属性按 message → error +/// → suppressed 的顺序创建(该顺序有严格断言,实现不得交换),message 为 +/// undefined 时省略;三者均非枚举数据属性。 /// /// # 边界与前提 /// - args[0]=this 被忽略:普通调用(无 new)同样新建对象,与既有 Error 子类型一致; @@ -222,14 +222,14 @@ pub fn create_suppressed_error(host: &mut H, error_val: JsValue, supp /// 缺少 name/message 时按规范回退到 `"Error"` 或空串。 /// /// # 步骤 -/// 1. 非对象 this 直接抛 TypeError(规范 §20.5.3.4 不做 ToObject 装箱) +/// 1. 非对象 this 直接抛 TypeError(不做 ToObject 装箱) /// 2. Get(name):访问器 getter 触发,抛出的用户异常原样传播 /// 3. name 非 undefined 时 ToString(Symbol 抛 TypeError,用户转换异常传播) /// 4. Get(message) 同 name;message 非 undefined 时 ToString /// 5. name/message 任一为空串时只返回另一者,否则 `name: message` /// /// # 边界与前提 -/// - name/message 为 Symbol 时按 §7.1.17 抛 TypeError; +/// - name/message 为 Symbol 时 ToString 转换抛 TypeError; /// - getter 或 ToPrimitive 抛出的用户异常经 `take_uncaught_value` 原值恢复。 pub fn error_to_string(host: &mut H, args: &[u8]) -> NativeResult { let this_val = host.reg(args[0]);