dist/bj-report-tryjs.js
function(foo, self) {
        return function() {
            var arg, tmp, args = [];
            for (var i = 0, l = arguments.length; i < l; i++) {
                arg = arguments[i];
                if (_isFunction(arg)) {
                    if (arg.tryWrap) {
                        arg = arg.tryWrap;
                    } else {
                        tmp = cat(arg);
                        arg.tryWrap = tmp;
                        arg = tmp;
                    }
                }
                args.push(arg);
            }
            return foo.apply(self || this, args);
        };
    }
function(foo, self) {
        return function() {
            var arg, tmp, args = [];
            for (var i = 0, l = arguments.length; i < l; i++) {
                arg = arguments[i];
                if (_isFunction(arg)) {
                    if (arg.tryWrap) {
                        arg = arg.tryWrap;
                    } else {
                        tmp = cat(arg);
                        arg.tryWrap = tmp;
                        arg = tmp;
                    }
                }
                args.push(arg);
            }
            return foo.apply(self || this, args);
        };
    }
function ( foo , self ) { return function ( ) { var arg , tmp , args = [ ] ; for ( var i = 0 , l = arguments . length ; i < l ; i ++ ) { arg = arguments [ i ] ; if ( _isFunction ( arg ) ) { if ( arg . tryWrap ) { arg = arg . tryWrap ; } else { tmp = cat ( arg ) ; arg . tryWrap = tmp ; arg = tmp ; } } args . push ( arg ) ; } return foo . apply ( self || this , args ) ; } ; }
makeArgsTry
wrap a function's arguments with try & catch
@param {Function} foo
@param {Object} self
@returns {Function}
makeArgsTry wrap a function s arguments with try & catch