Thank you for reaching out to us! To answer your questions:
Raygun4js has two main functions, the first to transmit exceptions manually caught in try-catch blocks, and the second which is a handler to catch and send all errors caught in window.onerror. So this means you can manually pass through whatever data you want in the try-catch blocks and then the errors captured automatically from window.onerror may only contain the error message, line number, and column number. In order to get stack traces, you need to wrap your code in a try/catch block.
Raygun will capture anything you manually specify in a try-catch block or automatically if the error is caught in window.onerror.
We handle errors manually sent through the API as well as automatically catch errors caught by window.onerror.
Yes, you'll need to add Raygun to all pages where you want tracking on exceptions.
Please let us know if you have any other questions!
Jesse, Developer Evangelist at Raygun