diff options
| author | Waref Haque <warefhaque@Warefs-MacBook-Pro.local> | 2016-07-17 20:24:49 +0000 |
|---|---|---|
| committer | Waref Haque <warefhaque@Warefs-MacBook-Pro.local> | 2016-07-17 20:24:49 +0000 |
| commit | e58943c3e620f05937656fdde032254ae3373f36 (patch) | |
| tree | 77072aa55efa1753c8c8ae584669cf3589551268 /node_modules/mongodb-core/lib/error.js | |
| parent | 55098c767afb0b119aaeda330eaedba5c1a87dc3 (diff) | |
redirect commit
Diffstat (limited to 'node_modules/mongodb-core/lib/error.js')
| -rw-r--r-- | node_modules/mongodb-core/lib/error.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/node_modules/mongodb-core/lib/error.js b/node_modules/mongodb-core/lib/error.js new file mode 100644 index 0000000..31ede94 --- /dev/null +++ b/node_modules/mongodb-core/lib/error.js @@ -0,0 +1,44 @@ +"use strict"; + +/** + * Creates a new MongoError + * @class + * @augments Error + * @param {string} message The error message + * @return {MongoError} A MongoError instance + */ +function MongoError(message) { + this.name = 'MongoError'; + this.message = message; + Error.captureStackTrace(this, MongoError); +} + +/** + * Creates a new MongoError object + * @method + * @param {object} options The error options + * @return {MongoError} A MongoError instance + */ +MongoError.create = function(options) { + var err = null; + + if(options instanceof Error) { + err = new MongoError(options.message); + err.stack = options.stack; + } else if(typeof options == 'string') { + err = new MongoError(options); + } else { + err = new MongoError(options.message || options.errmsg || options.$err || "n/a"); + // Other options + for(var name in options) { + err[name] = options[name]; + } + } + + return err; +} + +// Extend JavaScript error +MongoError.prototype = new Error; + +module.exports = MongoError; |
