Ganked from node https://github.com/joyent/node/blob/v0.10.22-release/lib/fs.js#L1015-L1023
function ErrnoError(err, syscall, cause) {
    this.cause = cause;
    this.code = err;
    this.message = syscall + ': ' + err +
        (cause ? ': ' + cause.toString() : '');
    this.name = 'ErrnoError';
    this.syscall = syscall;
    Error.captureStackTrace(this, ErrnoError);
}