Reporting errors
Honeybadger reports uncaught exceptions automatically. In all other cases, use
Honeybadger.notify(error) to send any error to Honeybadger.
To catch an exception and notify Honeybadger without re-throwing:
try { throw "oops";} catch (error) { Honeybadger.notify(error);}Customizing the error name
Section titled “Customizing the error name”JavaScript often uses generic class names — such as Error — which are
uninformative and also cause unrelated errors to be grouped together. To get
around this issue it’s a good practice to send a custom error class when
notifying Honeybadger:
Honeybadger.notify(error, "DescriptiveClass");Additional options
Section titled “Additional options”You can also set or override other optional data which is reported with the error:
Honeybadger.notify(error, { message: "My custom message", name: "DescriptiveClass", component: "badgers", action: "show", context: { badgerId: 1 }, fingerprint: "This unique string will group similar errors together", environment: "production", projectRoot: "https://www.example.com/", params: { key: "value" }, cookies: { key: "value" }, // May also be sent as a string in the document.cookie "foo=bar;bar=baz" format. tags: ["tag-1", "tag-2"],});Other ways to notify
Section titled “Other ways to notify”You can notify Honeybadger of anything, even if you don’t have an error object:
Honeybadger.notify('Badgers!');Honeybadger.notify('Badgers!', { ... });Honeybadger.notify('Badgers!', 'CustomClass');Honeybadger.notify('Badgers!', 'CustomClass', { ... });Honeybadger.notify({ message: 'Badgers!', name: 'CustomClass', ...});A stacktrace will be generated for you (when possible) if you do not provide an error object.
Honeybadger.notify() return value
Section titled “Honeybadger.notify() return value”Honeybadger.notify() returns a boolean indicating whether the error will be
reported to Honeybadger. When calling this method, some precondition checks are
performed, such as checking if the client is configured or if the error is
ignored based on the environment. Additionally, the
beforeNotify
handlers are called. If any of these checks return false, the error will not
be reported and notify() will return false.