aboutsummaryrefslogtreecommitdiff
path: root/files/ca/web/javascript/referencia/objectes_globals/error/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ca/web/javascript/referencia/objectes_globals/error/index.html')
-rw-r--r--files/ca/web/javascript/referencia/objectes_globals/error/index.html224
1 files changed, 224 insertions, 0 deletions
diff --git a/files/ca/web/javascript/referencia/objectes_globals/error/index.html b/files/ca/web/javascript/referencia/objectes_globals/error/index.html
new file mode 100644
index 0000000000..2e1592edc5
--- /dev/null
+++ b/files/ca/web/javascript/referencia/objectes_globals/error/index.html
@@ -0,0 +1,224 @@
+---
+title: Error
+slug: Web/JavaScript/Referencia/Objectes_globals/Error
+translation_of: Web/JavaScript/Reference/Global_Objects/Error
+---
+<div>{{JSRef}}</div>
+
+<h2 id="Resum">Resum</h2>
+
+<p>El constructor <strong><code>Error</code></strong> crea un objecte que representa un error. Quan succeeix un error en temps d'execució JavaScript llença una instància de tipus <code>Error</code>. L'objecte <code>Error</code> també es pot emprar com a objecte base per a excepcions definides per l'usuari. Vegeu més abaix per a tipus d'errors standard que forment part del nucli.</p>
+
+<h2 id="Syntax" name="Syntax">Sintaxi</h2>
+
+<pre class="syntaxbox">new Error([missatge[, fitxer[, numeroLinia]]])</pre>
+
+<h3 id="Parameters" name="Parameters">Paràmetres</h3>
+
+<dl>
+ <dt><code>missatge</code></dt>
+ <dd>Opcional. Descripció entenible per persones de l'error.</dd>
+ <dt><code>fitxer</code> {{non-standard_inline}}</dt>
+ <dd>Opcional. El valor de la propietat <code>fitxer</code> a l'objecte <code>Error</code> creat. Per defecte pren el valor del nom del fitxer que conté el codi que ha cridat el constructor <code>Error()</code>.</dd>
+ <dt><code>numeroLinia</code> {{non-standard_inline}}</dt>
+ <dd>Opcional. El valor de la propietat <font face="consolas, Liberation Mono, courier, monospace"><span style="background-color: rgba(220, 220, 220, 0.5);">numeroLinia</span></font> de l'objecte <code>Error</code> creat. Per defecte rep el valor del número de línia que conté la invocació al constructor <code>Error()</code>.</dd>
+</dl>
+
+<h2 id="Description" name="Description">Descripció</h2>
+
+<p>Els errors en temps d'execució esdevenen objectes <code>Error</code> nous que són creats i llençats.</p>
+
+<p>Aquesta pàgina documenta l'ús de l'objecte <code>Error</code> en si mateix, així com el seu ús com funció constructora. Per a un llistat de les propietats i mètodes heretats per les instàncies de <code>Error</code>, vegeu {{jsxref("Error.prototype")}}.</p>
+
+<h3 id="Error_types" name="Error_types">Tipus d'errors</h3>
+
+<p>A més del construtor genèric <code>Error</code> hi ha altres sis constructors d'errors que formen part del nucli de JavaScript. Per a excepcions al cantó del client vegeu <a href="/en-US/docs/Web/JavaScript/Guide/Statements#Exception_Handling_Statements">Sentències manegadores d'excepcions</a>.</p>
+
+<dl>
+ <dt>{{jsxref("Global_Objects/EvalError", "EvalError")}}</dt>
+ <dd>Crea una instància que representa un error que succeeix a l'emprar la funció global {{jsxref("Global_Objects/eval", "eval()")}}.</dd>
+ <dt>{{jsxref("Global_Objects/InternalError", "InternalError")}} {{non-standard_inline}}</dt>
+ <dd>Crea una instància que representa un error que succeeix quan es llença un error intern des del motor de JavaScript. Per exemple: "massa recursivitat".</dd>
+ <dt>{{jsxref("Global_Objects/RangeError", "RangeError")}}</dt>
+ <dd>Crea una instància que representa un error que succeeix quan una variable numèrica o paràmetre està fora del seu rang vàlid.</dd>
+ <dt>{{jsxref("Global_Objects/ReferenceError", "ReferenceError")}}</dt>
+ <dd>Crea una instància que representa un error que succeeix quan es deixa de referenciar una referència invàlida.</dd>
+ <dt>{{jsxref("Global_Objects/SyntaxError", "SyntaxError")}}</dt>
+ <dd>Crea una instància que representa un error de sintaxi que succeeix a l'interpretar codi dins {{jsxref("Global_Objects/eval", "eval()")}}.</dd>
+ <dt>{{jsxref("Global_Objects/TypeError", "TypeError")}}</dt>
+ <dd>Crea una instància que representa un error que succeeix quan una variable o paràmetre és d'un tipus no vàlid.</dd>
+ <dt>{{jsxref("Global_Objects/URIError", "URIError")}}</dt>
+ <dd>Crea un error que representa un error que succeeix quan {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} o {{jsxref("Global_Objects/decodeURI", "decodeURl()")}} reben paràmetres invàlids.</dd>
+</dl>
+
+<h2 id="Properties" name="Properties">Propietats</h2>
+
+<dl>
+ <dt>{{jsxref("Error.prototype")}}</dt>
+ <dd>Permet afegir propietats a instàncies <code>Error</code>.</dd>
+</dl>
+
+<h2 id="Methods" name="Methods">Mètodes</h2>
+
+<p>L'objecte global Error no contè mètodes propis. Tot i així, hereta alguns mètodes a través de la cadena de prototipus.</p>
+
+<h2 id="Error_instances" name="Error_instances"><code>Instàncies Error</code></h2>
+
+<div>{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Descripció')}}</div>
+
+<h3 id="Propietats">Propietats</h3>
+
+<div>{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Propietats')}}</div>
+
+<h3 id="Mètodes">Mètodes</h3>
+
+<div>{{page('ca/docs/JavaScript/Reference/Global_Objects/Error/prototype', 'Mètodes')}}</div>
+
+<h2 id="Examples" name="Examples">Exemples</h2>
+
+<h3 id="Example:_Throwing_a_generic_error" name="Example:_Throwing_a_generic_error">Exemple: Llençar un error genèric</h3>
+
+<p>Normalment hom crea un objecte Error amb la intenció de llençar-lo tot emprant la paraula clau {{jsxref("Statements/throw", "throw")}}. Els errors es poden manegar utilitzant la construcció {{jsxref("Statements/try...catch", "try...catch")}}:</p>
+
+<pre class="brush: js">try {
+ throw new Error('Oooops!');
+} catch (e) {
+ alert(e.name + ': ' + e.message);
+}
+</pre>
+
+<h3 id="Example:_Handling_a_specific_error" name="Example:_Handling_a_specific_error">Exemple: Manegar un error específic</h3>
+
+<p><span class="comment">this should probably be removed</span>Es pot escollir fer-se càrrec només de tipus d'errors específics comparant el tipus d'error amb la propietat {{jsxref("Object.prototype.constructor", "constructor")}} de l'error o bé, si s'està escrivint el codi per a motors JavaScript moderns, mitjançant la paraula clau {{jsxref("Operators/instanceof", "instanceof")}}:</p>
+
+<pre class="brush: js">try {
+ foo.bar();
+} catch (e) {
+ if (e instanceof EvalError) {
+ alert(e.name + ': ' + e.message);
+ } else if (e instanceof RangeError) {
+ alert(e.name + ': ' + e.message);
+ }
+ // ... etc
+}
+</pre>
+
+<h3 id="Exemple_Tipus_d'errors_personalitzats">Exemple: Tipus d'errors personalitzats</h3>
+
+<p>És possible definir tipus d'errors propis derivats de Error, llençar-los mitjançant <code>throw new MyError()</code>  i utilitzar <code>instanceof MyError</code> per a comprovarel tipus d'error al manegador d'excepcions. A sota trobareu la forma més comuna de fer això.</p>
+
+<div class="warning">
+<p>Advertim que la instància <code>MyError</code> llençada reportarà <code>lineNumber</code> i <code>fileName</code> invàlids, com a mínim a Firefox.</p>
+</div>
+
+<p>Vegeu també <a href="http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript">la discussió a StackOverflow "Quina és una bona forma d'extrendre Error a JavaScript?"</a>.</p>
+
+<pre class="brush: js">// Crea un nou objecte, que hereta del prototipus constructor Error.
+function MyError(message) {
+ this.name = 'MyError';
+ this.message = message || 'Missatge per defecte';
+}
+MyError.prototype = Object.create(Error.prototype);
+MyError.prototype.constructor = MyError;
+
+try {
+ throw new MyError();
+} catch (e) {
+ console.log(e.name); // 'MyError'
+ console.log(e.message); // 'Missatge per defecte'
+}
+
+try {
+ throw new MyError('custom message');
+} catch (e) {
+ console.log(e.name); // 'MyError'
+ console.log(e.message); // 'Missatge per defecte'
+}
+</pre>
+
+<h2 id="Especificacions">Especificacions</h2>
+
+<table class="standard-table">
+ <tbody>
+ <tr>
+ <th scope="col">Especificació</th>
+ <th scope="col">Estat</th>
+ <th scope="col">Comentaris</th>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES1')}}</td>
+ <td>{{Spec2('ES1')}}</td>
+ <td>Definició inicial. Implementat a JavaScript 1.1.</td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES5.1', '#sec-15.11', 'Error')}}</td>
+ <td>{{Spec2('ES5.1')}}</td>
+ <td> </td>
+ </tr>
+ <tr>
+ <td>{{SpecName('ES6', '#sec-error-objects', 'Error')}}</td>
+ <td>{{Spec2('ES6')}}</td>
+ <td> </td>
+ </tr>
+ </tbody>
+</table>
+
+<h2 id="Compatibilitat_amb_navegadors">Compatibilitat amb navegadors</h2>
+
+<div>{{CompatibilityTable}}</div>
+
+<div id="compat-desktop">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Chrome</th>
+ <th>Firefox (Gecko)</th>
+ <th>Internet Explorer</th>
+ <th>Opera</th>
+ <th>Safari</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<div id="compat-mobile">
+<table class="compat-table">
+ <tbody>
+ <tr>
+ <th>Característica</th>
+ <th>Android</th>
+ <th>Chrome for Android</th>
+ <th>Firefox Mobile (Gecko)</th>
+ <th>IE Mobile</th>
+ <th>Opera Mobile</th>
+ <th>Safari Mobile</th>
+ </tr>
+ <tr>
+ <td>Suport bàsic</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ <td>{{CompatVersionUnknown}}</td>
+ </tr>
+ </tbody>
+</table>
+</div>
+
+<h2 id="See_also" name="See_also">Vegeu també</h2>
+
+<ul>
+ <li>{{jsxref("Error.prototype")}}</li>
+ <li>{{jsxref("Statements/throw", "throw")}}</li>
+ <li>{{jsxref("Statements/try...catch", "try...catch")}}</li>
+</ul>