2020-02-25
描述
尝试从提供的参数中调用其方法,返回运行的结果或者捕获的异常对象。
提示
- 使用
try... catch
块来返回函数运行的结果或者是适当的异常
代码
const attempt = (fn, ...args) => {
try {
return fn(...args);
} catch (e) {
return e instanceof Error ? e : new Error(e);
}
};
示例
根据选择器获取元素,并对选择器错误的情况进行处理:
let elements = attempt(function(selector) {
return document.querySelectorAll(selector);
}, '>_>');
if (elements instanceof Error) elements = []; // elements = []