You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中编写处理非数字输入错误的函数?

错误处理实现方案

实现步骤

  • 在sum函数内完成参数有效性检查与计算结果校验,不符合要求时主动抛出错误
  • 用try/catch块包裹函数调用逻辑,捕获并处理抛出的错误

修改后的完整代码

function sum(a, b) {
    // 检查参数是否为有效数字(排除NaN、Infinity等无效情况)
    if (!Number.isFinite(a) || !Number.isFinite(b)) {
        throw new Error("error, input is not a number");
    }

    const result = a + b;

    // 检查计算结果是否为有效数字
    if (!Number.isFinite(result)) {
        throw new Error("error, input is not a number");
    }

    return result;
}

try {
    let total = sum(4, 4);
    // 验证结果是否为8(匹配需求中的判断逻辑)
    if (total !== 8) {
        throw new Error("error, input is not a number");
    }
    console.log(total);
} catch (err) {
    console.error(err.message);
}

代码说明

  • Number.isFinite():精准判断值是否为有限的有效数字,可排除NaN、Infinity、非数字类型等无效输入
  • 函数内先校验参数合法性,再校验计算结果,确保每一步逻辑的有效性
  • try块执行函数调用与结果校验,一旦触发错误会立即进入catch块处理错误信息
  • 额外添加结果等于8的判断逻辑,完全匹配需求中的要求

内容的提问来源于stack exchange,提问作者Jundu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:54:18