Sha256: a88e2d72d8e72453b57787f89809080166914f1b9936745dbe7fe3d904d613a6

Contents?: true

Size: 839 Bytes

Versions: 153

Compression:

Stored size: 839 Bytes

Contents

var isError = require('../lang/isError'),
    restParam = require('../function/restParam');

/**
 * Attempts to invoke `func`, returning either the result or the caught error
 * object. Any additional arguments are provided to `func` when it's invoked.
 *
 * @static
 * @memberOf _
 * @category Utility
 * @param {Function} func The function to attempt.
 * @returns {*} Returns the `func` result or error object.
 * @example
 *
 * // avoid throwing errors for invalid selectors
 * var elements = _.attempt(function(selector) {
 *   return document.querySelectorAll(selector);
 * }, '>_>');
 *
 * if (_.isError(elements)) {
 *   elements = [];
 * }
 */
var attempt = restParam(function(func, args) {
  try {
    return func.apply(undefined, args);
  } catch(e) {
    return isError(e) ? e : new Error(e);
  }
});

module.exports = attempt;

Version data entries

153 entries across 80 versions & 8 rubygems

Version Path
ilog-0.4.1 node_modules/contents/node_modules/lodash/utility/attempt.js
ilog-0.4.1 node_modules/babel-plugin-proto-to-assign/node_modules/lodash/utility/attempt.js
ilog-0.4.1 node_modules/babel/node_modules/lodash/utility/attempt.js
ilog-0.4.0 node_modules/babel/node_modules/lodash/utility/attempt.js
ilog-0.4.0 node_modules/contents/node_modules/lodash/utility/attempt.js
ilog-0.4.0 node_modules/babel-plugin-proto-to-assign/node_modules/lodash/utility/attempt.js
ilog-0.3.3 node_modules/babel/node_modules/lodash/utility/attempt.js
ilog-0.3.3 node_modules/contents/node_modules/lodash/utility/attempt.js
ilog-0.3.3 node_modules/babel-plugin-proto-to-assign/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.3 node_modules/bower/node_modules/inquirer/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.2 node_modules/bower/node_modules/inquirer/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6.1 node_modules/bower/node_modules/inquirer/node_modules/lodash/utility/attempt.js
xcodebuild-helper-1.2.5 externals/ios-sim-master/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.6 node_modules/bower/node_modules/inquirer/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/configstore/node_modules/js-yaml/node_modules/argparse/node_modules/lodash/utility/attempt.js
trusty-festivity-extension-2.5.19 node_modules/bower/node_modules/inquirer/node_modules/lodash/utility/attempt.js