fail-nicely
v2.0.0
Published
A one-liner to at least explain why things didn't work out
Downloads
15
Readme
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.