mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-11-24 22:35:41 +00:00
b4de3ead08
Throwing strings is bad because it doesn't include a lot of important information that an error object does, such as a stack trace or where the error was actually thrown from. ve.Error inherits directly from Error. In the future we may create more specific subclasses and/or do custom stuff. Some interesting reading on the subject: * http://www.devthought.com/2011/12/22/a-string-is-not-an-error/ Change-Id: Ib7c568a1dcb98abac44c6c146e84dde5315b2826
39 lines
918 B
JavaScript
39 lines
918 B
JavaScript
/**
|
|
* VisualEditor Error class.
|
|
*
|
|
* @copyright 2011-2012 VisualEditor Team and others; see AUTHORS.txt
|
|
* @license The MIT License (MIT); see LICENSE.txt
|
|
*/
|
|
|
|
/**
|
|
* Error.
|
|
*
|
|
* @class
|
|
* @constructor
|
|
* @param {String} message Human-readable description of the error
|
|
* @param {String} fileName The name of the file containing the code that caused the exception
|
|
* @param {Number} lineNumber The line number of the code that caused the exception
|
|
*/
|
|
ve.Error = function () {
|
|
// Inheritance
|
|
Error.apply( this, arguments );
|
|
};
|
|
|
|
/* Methods */
|
|
|
|
/**
|
|
* Gets a human-readable description of the error, including the error type.
|
|
*
|
|
* @method
|
|
* @returns {String} Error type and description
|
|
*/
|
|
ve.Error.prototype.toString = function () {
|
|
return this.name + ': ' + this.message;
|
|
};
|
|
|
|
/* Inheritance */
|
|
|
|
ve.Error.prototype = new Error();
|
|
ve.Error.prototype.constructor = ve.Error;
|
|
ve.Error.prototype.name = 've.Error';
|