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

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

    for(e=l=x=prompt(g=1e5);--g;l=(x>1?y=1-1/x:-(y=x-1))*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... :)