If I have a function like the following:
function catchUndefinedFunctionCall( name, arguments )
{
alert( name + \' is not defined\' );
}
an
try {
foo();
}
catch(e) {
callUndefinedFunctionCatcher(e.arguments);
}
UPDATED
passing e.arguments
to your function will give you what you tried to pass originally.
There is in Mozilla Javascript 1.5 anyway (it's nonstandard).
Check this out:
var myObj = {
foo: function () {
alert('foo!');
}
, __noSuchMethod__: function (id, args) {
alert('Oh no! '+id+' is not here to take care of your parameter/s ('+args+')');
}
}
myObj.foo();
myObj.bar('baz', 'bork'); // => Oh no! bar is not here to take care of your parameter/s (baz,bork)
Pretty cool. Read more at https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Global_Objects/Object/NoSuchMethod