Upgrade to ExtJS 3.1.0 - Released 12/16/2009
[extjs.git] / docs / source / Error.html
1 <html>\r
2 <head>\r
3   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />    \r
4   <title>The source code</title>\r
5     <link href="../resources/prettify/prettify.css" type="text/css" rel="stylesheet" />\r
6     <script type="text/javascript" src="../resources/prettify/prettify.js"></script>\r
7 </head>\r
8 <body  onload="prettyPrint();">\r
9     <pre class="prettyprint lang-js"><div id="method-Ext.Element-handleError"></div>/**
10  * Framework-wide error-handler.  Developers can override this method to provide
11  * custom exception-handling.  Framework errors will often extend from the base
12  * Ext.Error class.
13  * @param {Object/Error} e The thrown exception object.
14  */
15 Ext.handleError = function(e) {
16     throw e;
17 };
18
19 <div id="cls-Ext.Error"></div>/**
20  * @class Ext.Error
21  * @extends Error
22  * <p>A base error class. Future implementations are intended to provide more
23  * robust error handling throughout the framework (<b>in the debug build only</b>)
24  * to check for common errors and problems. The messages issued by this class
25  * will aid error checking. Error checks will be automatically removed in the
26  * production build so that performance is not negatively impacted.</p>
27  * <p>Some sample messages currently implemented:</p><pre>
28 "DataProxy attempted to execute an API-action but found an undefined
29 url / function. Please review your Proxy url/api-configuration."
30  * </pre><pre>
31 "Could not locate your "root" property in your server response.
32 Please review your JsonReader config to ensure the config-property
33 "root" matches the property your server-response.  See the JsonReader
34 docs for additional assistance."
35  * </pre>
36  * <p>An example of the code used for generating error messages:</p><pre><code>
37 try {
38     generateError({
39         foo: 'bar'
40     });
41 }
42 catch (e) {
43     console.error(e);
44 }
45 function generateError(data) {
46     throw new Ext.Error('foo-error', data);
47 }
48  * </code></pre>
49  * @param {String} message
50  */
51 Ext.Error = function(message) {
52     // Try to read the message from Ext.Error.lang
53     this.message = (this.lang[message]) ? this.lang[message] : message;
54 }
55 Ext.Error.prototype = new Error();
56 Ext.apply(Ext.Error.prototype, {
57     // protected.  Extensions place their error-strings here.
58     lang: {},
59
60     name: 'Ext.Error',
61     <div id="method-Ext.Error-getName"></div>/**
62      * getName
63      * @return {String}
64      */
65     getName : function() {
66         return this.name;
67     },
68     <div id="method-Ext.Error-getMessage"></div>/**
69      * getMessage
70      * @return {String}
71      */
72     getMessage : function() {
73         return this.message;
74     },
75     <div id="method-Ext.Error-toJson"></div>/**
76      * toJson
77      * @return {String}
78      */
79     toJson : function() {
80         return Ext.encode(this);
81     }
82 });
83
84 </pre>    \r
85 </body>\r
86 </html>