Skip to content

Instantly share code, notes, and snippets.

View mrister's full-sized avatar
🏠
Working from home

Mihovil Rister mrister

🏠
Working from home
View GitHub Profile
@mrister
mrister / loggly-error-logger.js
Last active August 16, 2016 15:25
An error logger backed by Loggly
/**
* An error logger backed by Loggly
*/
require('dotenv').config({silent: false});
var loggly = require('loggly');
var client = loggly.createClient({
token: process.env.LOGGLY_TOKEN,
@mrister
mrister / werror-example.js
Last active August 16, 2016 15:22
WError example
const VError = require('verror').VError;
const WError = require('verror').WError;
const errReqFail = new Error('Request failed');
const errReqStatus = new VError(errReqFail, 'Unexpected status code "%s"', '500');
const errReq = new WError(errReqStatus, 'Internal error');
console.error(errReq.message); //Internal error:
// get some real data for logging
console.info(errReq.toString()); //WError: Internal error; caused by VError: Unexpected status code "500": Request failed
@mrister
mrister / verror-example.js
Last active August 16, 2016 15:21
Example VError usage
const VError = require('verror');
const errReqFail = new Error('Request failed');
const errReqStatus = new VError(errReqFail, 'Unexpected status code "%s"', '500');
const errReqBase = new VError(errReqStatus, 'Internal error');
console.error(errReqBase); //VError: Internal error: Unexpected status code "500": Request failed
// unwind to check cause
console.info(errReqBase.cause().message); //Unexpected status code "500": Request failed
@mrister
mrister / es6-in-genrator-throw.js
Created August 8, 2016 22:27
Throwing an error inside a genrator.
function * genThrow() {
yield 'egg';
throw new Error('I am out of eggs');
}
try {
const eggy = genThrow();
eggy.next();
// second call invokes throw
eggy.next();
@mrister
mrister / es6-gen-func-throw-invoke.js
Created August 8, 2016 22:24
Throwing an error to the generator function.
function *genTestError() {
while (true) {
try {
var val = yield null;
console.log('value', val);
} catch (e) {
console.log('There was an error', e);
}
}
}
@mrister
mrister / uncaught-exception.js
Created August 8, 2016 22:20
Uncaught Exception listener
process.on('uncaughtException', (err) => {
logger.log('whoops! There was an uncaught error', err);
// do a graceful shutdown,
// close the database connection etc.
process.exit(1);
});
@mrister
mrister / event-emitter-error-listener.js
Last active August 16, 2016 15:23
Event emitter error listener
const EventEmitter = require('events');
class Emitter extends EventEmitter {}
const emitter = new Emitter();
const logger = console;
/**
* Add Error listener
*/
@mrister
mrister / unhandled-rejection.js
Created August 8, 2016 22:09
Unhandled rejection listener
process.on('unhandledRejection', function (reason, promise) {
logger.error('Unhandled rejection', {reason: reason, promise: promise})
});
@mrister
mrister / custom-es6-node-error
Last active July 13, 2017 07:21
A custom Node.js ES6 error.
/**
* A custom MyError class
* @class
*/
class MyError extends Error {
/**
* Constructs the MyError class
* @param {String} message an error message
* @constructor
*/
@mrister
mrister / simple-custom-nodejs-es6-error.js
Created August 5, 2016 11:10
A simple custom Node.js ES6 Error
/**
* A custom MyError class
* @class
*/
class MyError extends Error {
/**
* Constructs the MyError class
* @param {String} message an error message
* @constructor
*/