求解函数的入参本身就有空值异常的情况能够封装try catch吗?

28 阅读1分钟

求解函数的入参本身就有空值异常的情况能够封装try catch吗?

function a(v) {
  console.log(v);
}

function b(...args) {
  try {
    a.call(null, ...args);
  } catch (e) {
    console.log(e);
  }
}

b({
  // window对象上没有aaa,会报错
  a: window.aaa.bbb,
});

以上这种方式并不能catch错误,想问下有没有什么办法能够把a函数封装一下,不使用“?.”的方式能够对函数的入参进行try catch