In order to quickly understand and fix errors, it is often helpful to send errors that have been handled by your application to BugSnag, with additional diagnostic data that is specific to the error.
If you would like to send handled errors to BugSnag, pass an error class and message to the notify
function.
try {
// Some potentially crashy code
} catch(e, stack) {
bugsnag.notify(e, stack);
}
You can await bugsnag.notify
which will resolve once the report has been persisted for delivery.
You can send handled errors with diagnostic data or other customizations by passing a BugsnagOnErrorCallback
(FutureOr<bool> Function(BugsnagEvent)
) as an argument to notify
.
The callback receives an BugsnagEvent
object as a parameter which can be used to add or amend the data sent to your BugSnag dashboard. You can also return false
from the callback to prevent the event being sent at all:
bugsnag.notify(e, stack, callback: (event) {
// Add information
event.addMetadata('account', const { 'name': 'Acme Co.' });
event.addMetadata('account', const { 'paying_customer': true });
// Increase severity
event.severity = BugsnagSeverity.error;
// Return `false` if you'd like to stop this error being reported extra
return true;
});
See Customizing error reports for more information about the properties and methods available in an BugsnagEvent
object.