Attempts to invoke a function with the provided arguments, returning either the result or the caught error object.
Use a try... catch block to return either the result of the function or an appropriate error.
const attempt = (fn, ...args) => { try { - return fn(args); + return fn(...args); } catch (e) { return e instanceof Error ? e : new Error(e); }