Skip to content

Instantly share code, notes, and snippets.

@mukgupta
Created May 21, 2014 15:13
Show Gist options
  • Save mukgupta/4fb772eec686bf8b716f to your computer and use it in GitHub Desktop.
Save mukgupta/4fb772eec686bf8b716f to your computer and use it in GitHub Desktop.
Raven-js Angularjs plugin
/**
* Angular.js plugin
*
* Provides an $exceptionHandler for Angular.js
*/
;(function(Raven, angular) {
'use strict';
// quit if angular isn't on the page
if (!angular) {
return;
}
function ngRavenProvider($provide) {
$provide.decorator('$exceptionHandler', [
'RavenConfig', '$delegate',
ngRavenExceptionHandler
]);
}
function ngRavenExceptionHandler(RavenConfig, $delegate) {
if (!RavenConfig)
throw new Error('RavenConfig must be set before using this');
Raven.config(RavenConfig.dsn, RavenConfig.config);
return function angularExceptionHandler(ex, cause) {
$delegate(ex, cause);
Raven.captureException(ex, {extra: {cause: cause}});
};
}
angular.module('ngRaven', [])
.config(['$provide', ngRavenProvider])
.value('Raven', Raven);
})(Raven, window.angular);
@dkarter
Copy link

dkarter commented May 14, 2015

can you please provide usage instructions? couldn't find any in the documentation

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment