-</span> * @class Ext.Error
- * @private
- * @extends Error
-
-A wrapper class for the native JavaScript Error object that adds a few useful capabilities for handling
-errors in an Ext application. When you use Ext.Error to {@link #raise} an error from within any class that
-uses the Ext 4 class system, the Error class can automatically add the source class and method from which
-the error was raised. It also includes logic to automatically log the eroor to the console, if available,
-with additional metadata about the error. In all cases, the error will always be thrown at the end so that
-execution will halt.
-
-Ext.Error also offers a global error {@link #handle handling} method that can be overridden in order to
-handle application-wide errors in a single spot. You can optionally {@link #ignore} errors altogether,
-although in a real application it's usually a better idea to override the handling function and perform
-logging or some other method of reporting the errors in a way that is meaningful to the application.
-
-At its simplest you can simply raise an error as a simple string from within any code:
-
-#Example usage:#
-
- Ext.Error.raise('Something bad happened!');
-
-If raised from plain JavaScript code, the error will be logged to the console (if available) and the message
-displayed. In most cases however you'll be raising errors from within a class, and it may often be useful to add
-additional metadata about the error being raised. The {@link #raise} method can also take a config object.
-In this form the `msg` attribute becomes the error description, and any other data added to the config gets
-added to the error object and, if the console is available, logged to the console for inspection.
-
-#Example usage:#
-
- Ext.define('Ext.Foo', {
- doSomething: function(option){
- if (someCondition === false) {
- Ext.Error.raise({
- msg: 'You cannot do that!',
- option: option, // whatever was passed into the method
- 'error code': 100 // other arbitrary info
- });
- }
- }
- });
-
-If a console is available (that supports the `console.dir` function) you'll see console output like:
-
- An error was raised with the following data:
- option: Object { foo: "bar"}
- foo: "bar"
- error code: 100
- msg: "You cannot do that!"
- sourceClass: "Ext.Foo"
- sourceMethod: "doSomething"
-
- uncaught exception: You cannot do that!
-
-As you can see, the error will report exactly where it was raised and will include as much information as the
-raising code can usefully provide.
-
-If you want to handle all application errors globally you can simply override the static {@link handle} method
-and provide whatever handling logic you need. If the method returns true then the error is considered handled
-and will not be thrown to the browser. If anything but true is returned then the error will be thrown normally.
-
-#Example usage:#
-
- Ext.Error.handle = function(err) {
- if (err.someProperty == 'NotReallyAnError') {
- // maybe log something to the application here if applicable
- return true;
- }
- // any non-true return value (including none) will cause the error to be thrown
- }
-
- * Create a new Error object
- * @param {Object} config The config object
- * @markdown
- * @author Brian Moeskau <brian@sencha.com>