errors

The errors module provides helpers for safely invoking user callbacks.

API Reference

Functions

catchAndLog(callback, defaultResponse, logException)

Wraps a callback in a function that when invoked will catch and log any exception thrown by the callback.

callback : function

The callback to wrap.

[ defaultResponse : value ]

This value will be returned by the wrapper if callback throws an exception. If not given, undefined is used.

[ logException : function ]

When callback throws an exception, it will be passed to this function. If not given, the exception is logged using console.exception().

Returns: function

A function that will invoke callback when called. The return value of this function is the return value of callback unless callback throws an exception. In that case, defaultResponse is returned or undefined if defaultResponse is not given.

catchAndLogProps(object, props, defaultResponse, logException)

Replaces methods of an object with wrapped versions of those methods returned by catchAndLog().

object : object

The object whose methods to replace.

props : string,array

The names of the methods of object to replace, either a string for a single method or an array of strings for multiple methods.

[ defaultResponse : value ]

This value will be returned by any wrapper whose wrapped method throws an exception. If not given, undefined is used.

[ logException : function ]

See catchAndLog().