我将使用RangeError引发异常,并想检查是否正确使用了它以及如何最好地捕获它。

我有一个函数可能会抛出RangeError或TypeError这样的

function saveNumber(val) {
  // Only accept numbers.
  if (typeof val !== 'number') {
    throw new TypeError();
  }

  // Error if the number is outside of the range.
  if (val > max || val < min) {
    throw new RangeError();
  }

  db.save(val);
}

我想调用它,只处理RangeError。最好的方法是什么?

最佳答案

try {
  saveNumber(...);
} catch (e) {
  if (e instanceof TypeError) {
    // ignore TypeError
  }
  else if(e instanceof RangeError) {
    // handle RangeError
  }
  else {
    // something else
  }
}

source

关于javascript - 在JavaScript中使用和捕获RangeError,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20355477/

10-11 06:50