810 B
810 B
title, tags, expertise, cover, firstSeen, lastUpdated
| title | tags | expertise | cover | firstSeen | lastUpdated |
|---|---|---|---|---|---|
| Attempt invoking a function | function | intermediate | blog_images/spanish-resort.jpg | 2018-01-28T14:44:40+02:00 | 2020-10-18T20:24:28+03:00 |
Attempts to invoke a function with the provided arguments, returning either the result or the caught error object.
- Use a
try...catchblock to return either the result of the function or an appropriate error. - If the caught object is not an
Error, use it to create a newError.
const attempt = (fn, ...args) => {
try {
return fn(...args);
} catch (e) {
return e instanceof Error ? e : new Error(e);
}
};
var elements = attempt(function(selector) {
return document.querySelectorAll(selector);
}, '>_>');
if (elements instanceof Error) elements = []; // elements = []