Js函数检查方法是否抛出

时间:2016-07-20 08:12:03

标签: javascript ecmascript-6

想象一下,我有课程Foo和方法bar

class Foo {
    bar() {
        ...
    }
}

我需要通用函数isThrows来检查方法bar是否抛出。有可能吗?

1 个答案:

答案 0 :(得分:2)

我写了这样的功能。

function isThrows(obj, method, ...args) {
    var result = false;
    try {
        method.apply(obj, args);
    } catch (e) {
        result = true;
    }
    return result;
}

使用

const foo = new Foo();
const result = isThrows(foo, foo.bar/*, additional params if needed */);