fail-nicely

2.0.0 • Public • Published

fail-nicely

A one-liner to at least explain why things didn't work out

Example

See demo: fail-nicely

npm install fail-nicely
var createHandler = require('fail-nicely');
 
var handlerFailure = createHandler(onSuccess, {title: 'Sorry!'});
 
function onSuccess (message) {
  console.log(message);
}
 
// Execute the callback with a failure:
handlerFailure('This demo requires WebGL 7 support!');
 
// Execute the onSuccess callback:
handlerFailure(null, 'Loaded successfully!');

You can also just pass it an error:

try {
  var y = 7 + g;
} catch (e) {
  handlerFailure(e);
}

The factory pattern is just a little convoluted, but the upshot is that intercepting fatal errors becomes a simple one-liner:

var fs = require('fs')
fs.readFile('test.json', createHandler(function (data) {
  console.log('loaded data:', data)
}))

Usage

require('fail-nicely')(callback[, options])

Returns a node-style callback (function (err, data)) that intercepts and handlers errors and otherwise forwards data through to callback.

When err is truthy, appends an overlay to the body element with a short explanation of what happened. Usefulf for making quick and ugly demos a little less ugly. If the first argument is an Error, it will use the error's message. If it's a string, that will be the explanation. Options are:

  • bg: overlay background color (default: '#333')
  • fg: overlay foreground (text) color (default: '#fff')
  • zIndex: z-index of the overlay (default: 9999)
  • title: heading title (default: 'Sorry!')
  • fontFamily: font family (default: Helvetica, Arial, sans-serif)
  • position: positioning of the overlay element (default: fixed)
  • invert: quick shorthand for swapping the foreground/background colors

Returns: Nothing.

License

© 2016 Ricky Reusser. MIT License.

Readme

Keywords

Package Sidebar

Install

npm i fail-nicely

Weekly Downloads

3

Version

2.0.0

License

MIT

Last publish

Collaborators

  • rreusser