X-Git-Url: http://git.ithinksw.org/extjs.git/blobdiff_plain/ee06f37b0f6f6d94cd05a6ffae556660f7c4a2bc..c930e9176a5a85509c5b0230e2bff5c22a591432:/src/core/Error.js?ds=sidebyside diff --git a/src/core/Error.js b/src/core/Error.js new file mode 100644 index 00000000..ff596972 --- /dev/null +++ b/src/core/Error.js @@ -0,0 +1,81 @@ +/*! + * Ext JS Library 3.0.0 + * Copyright(c) 2006-2009 Ext JS, LLC + * licensing@extjs.com + * http://www.extjs.com/license + */ +/** + * Framework-wide error-handler. Developers can override this method to provide + * custom exception-handling. Framework errors will often extend from the base + * Ext.Error class. + * @param {Object/Error} e The thrown exception object. + */ +Ext.handleError = function(e) { + throw e; +}; + +/** + * @class Ext.Error + * @extends Error + *
A base error class. Future implementations are intended to provide more + * robust error handling throughout the framework (in the debug build only) + * to check for common errors and problems. The messages issued by this class + * will aid error checking. Error checks will be automatically removed in the + * production build so that performance is not negatively impacted.
+ *Some sample messages currently implemented:
+"DataProxy attempted to execute an API-action but found an undefined +url / function. Please review your Proxy url/api-configuration." + *
+"Could not locate your "root" property in your server response. +Please review your JsonReader config to ensure the config-property +"root" matches the property your server-response. See the JsonReader +docs for additional assistance." + *+ *
An example of the code used for generating error messages:
+try {
+ generateError({
+ foo: 'bar'
+ });
+}
+catch (e) {
+ console.error(e);
+}
+function generateError(data) {
+ throw new Ext.Error('foo-error', data);
+}
+ *
+ * @param {String} message
+ */
+Ext.Error = function(message) {
+ // Try to read the message from Ext.Error.lang
+ this.message = (this.lang[message]) ? this.lang[message] : message;
+}
+Ext.Error.prototype = new Error();
+Ext.apply(Ext.Error.prototype, {
+ // protected. Extensions place their error-strings here.
+ lang: {},
+
+ name: 'Ext.Error',
+ /**
+ * getName
+ * @return {String}
+ */
+ getName : function() {
+ return this.name;
+ },
+ /**
+ * getMessage
+ * @return {String}
+ */
+ getMessage : function() {
+ return this.message;
+ },
+ /**
+ * toJson
+ * @return {String}
+ */
+ toJson : function() {
+ return Ext.encode(this);
+ }
+});
+