JavaScript, <strike>103</strike> <strike>101</strike> <strike>99</strike> <strike>97</strike> <strike>93</strike> 90
-

This implementation is based on primo's comprehensive description of the algorithm he used.

    for(e=l=x=prompt(g=1e5);--g;y=x-1,l=(x>1?y/=x:-y)*l+y/g)
        e=1+e/g*x;
    alert([e,x>0?l:"ERROR"])

Edit:<br>
- Trying to catch Perl. Stole a byte back from primo by copying his branch. :)<br>
- 2 more bytes courtesy of primo.<br>
- Finally, caught primo's version! With primo's help, of course... :)<br>
- Simplified the assignment to L. Shaved 3 more bytes.