diff options
author | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:49:24 +0100 |
---|---|---|
committer | Florian Merz <me@fiji-flo.de> | 2021-02-11 14:49:24 +0100 |
commit | de5c456ebded0e038adbf23db34cc290c8829180 (patch) | |
tree | 2819c07a177bb7ec5f419f3f6a14270d6bcd7fda /files/pl/web/javascript/referencje/obiekty/error/index.html | |
parent | 8260a606c143e6b55a467edf017a56bdcd6cba7e (diff) | |
download | translated-content-de5c456ebded0e038adbf23db34cc290c8829180.tar.gz translated-content-de5c456ebded0e038adbf23db34cc290c8829180.tar.bz2 translated-content-de5c456ebded0e038adbf23db34cc290c8829180.zip |
unslug pl: move
Diffstat (limited to 'files/pl/web/javascript/referencje/obiekty/error/index.html')
-rw-r--r-- | files/pl/web/javascript/referencje/obiekty/error/index.html | 246 |
1 files changed, 0 insertions, 246 deletions
diff --git a/files/pl/web/javascript/referencje/obiekty/error/index.html b/files/pl/web/javascript/referencje/obiekty/error/index.html deleted file mode 100644 index 408b1b797b..0000000000 --- a/files/pl/web/javascript/referencje/obiekty/error/index.html +++ /dev/null @@ -1,246 +0,0 @@ ---- -title: Error -slug: Web/JavaScript/Referencje/Obiekty/Error -tags: - - Błąd - - CustomError - - Error - - JavaScript - - Obsługa błędów -translation_of: Web/JavaScript/Reference/Global_Objects/Error ---- -<div>{{JSRef}}</div> - -<div>Kontruktor klasy <strong><code>Error</code></strong> tworzy obiekt błędu. Instancja klasy <code>Error</code> jest rzucana w momencie napotkania błędu w trakcie wykonywania programu. Klasa <code>Error</code> może być także używana do tworzenia własnych wyjątków. Poniżej przestawione zostaną wbudowane standardowe typy błędów.</div> - -<h2 id="Składnia">Składnia</h2> - -<pre class="syntaxbox notranslate">new Error([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</pre> - -<h3 id="Parametry">Parametry</h3> - -<dl> - <dt><code>message</code></dt> - <dd>Opcjonalny. Opis błędu zrozumiały dla użytkownika.</dd> - <dt><code>fileName</code> {{non-standard_inline}}</dt> - <dd>Opcjonalny. Wartość dla parametru <code>fileName</code> przy tworzeniu obiektu <code>Error</code>. Domyślnie to nazwa pliku zawierającego kod, który wywołał konstruktor.</dd> - <dt><code>lineNumber</code> {{non-standard_inline}}</dt> - <dd>Opcjonalny. Wartość dla paramteru <code>lineNumber</code> przy tworzeniu obiektu <code>Error</code>. Domyślnie zawiera numer linijki zawirającej wywołanie konstruktora klasy <code>Error</code>.</dd> -</dl> - -<h2 id="Opis">Opis</h2> - -<p>Błędy w trakcie wykonywania programu skutkują utworzeniem i rzuceniem nowego obiektu <code>Error</code>.</p> - -<p>This page documents the use of the <code>Error</code> object itself and its use as a constructor function. For a list of properties and methods inherited by <code>Error</code> instances, see {{jsxref("Error.prototype")}}.</p> - - - -<h3 id="Używanie_jako_funkcja">Używanie jako funkcja</h3> - -<p>Gdy <code>Error</code> jest używany jako funkcja -- bez słowa kluczowego <code>new</code>, zwraca on obiekt <code>Error</code>. Możemy więc zauważyć, że zwykłe wywołanie <code>Error</code> zwróci nam to samo co stworznie nowego obiektu <code>Error</code> przy pomocy słowa kluczowego <code>new</code>.</p> - -<pre class="notranslate"><code>// to: -const x = Error('Jestem stworzony przy pomocy wyowałania funkcji!'); -// działa tak samo jak to: -const y = new Error('Jestem stworzony przy pomocy słowa kluczowego "new"!');</code></pre> - - - -<h3 id="Typy_błędów">Typy błędów</h3> - -<p>Oprócz konstruktora generycznego <code>Error</code>, mamy jeszcze siedem innych podstawowych konstruktorów błędów w JavaScript. Dla wyjątów po stronie klienta zobacz <a href="/en-US/docs/Web/JavaScript/Guide/Statements#Exception_Handling_Statements">Exception Handling Statements</a>.</p> - -<dl> - <dt>{{jsxref("EvalError")}}</dt> - <dd>Tworzy instancje reprezentującą błąd dotyczący globalnej funkcji {{jsxref("Global_Objects/eval", "eval()")}}.</dd> - <dt>{{jsxref("InternalError")}} {{non-standard_inline}}</dt> - <dd>Tworzy instancje reprezentującą błąd, który występuje w momencie wyrzucenia wewnętrznego błędu silnika JavaScript np. "too much recursion".</dd> - <dt>{{jsxref("RangeError")}}</dt> - <dd>Tworzy instancje reprezentującą błąd, który występuje w momencie gdy zmienna numeryczna lub parametr wyjdzie poza zakres. </dd> - <dt>{{jsxref("ReferenceError")}}</dt> - <dd>Tworzy instancje reprezentującą błąd, który występuje przy próbie odwołania do nieistniejącego zasobu.</dd> - <dt>{{jsxref("SyntaxError")}}</dt> - <dd>Tworzy instancje reprezentującą błąd składni, który występuje przy parsowaniu kodu przy pomocy {{jsxref("Global_Objects/eval", "eval()")}}.</dd> - <dt>{{jsxref("TypeError")}}</dt> - <dd>Tworzy instancję reprezentującą błąd, który występuje gdy zmienna lub parametr mają niepoprawny typ.</dd> - <dt>{{jsxref("URIError")}}</dt> - <dd>Tworzy instancję reprezentującą błąd, który występuje gdy {{jsxref("Global_Objects/encodeURI", "encodeURI()")}} i {{jsxref("Global_Objects/decodeURI", "decodeURI()")}} mają przekazane nieprawidłowe parametry.</dd> -</dl> - -<h2 id="Właściwości">Właściwości</h2> - -<dl> - <dt>{{jsxref("Error.prototype")}}</dt> - <dd>Pozwala na dodawanie właściwości do instancji klasy <code>Error</code>.</dd> -</dl> - -<h2 id="Metody">Metody</h2> - -<p>Globalny obiekt <code>Error</code> sam w sobie nie zawiera metod, niemniej, dziedziczy on niektóre metody z łańcucha prototypów.</p> - -<h2 id="Error_instancje"><code>Error</code> instancje</h2> - -<div>{{page('pl/docs/Web/JavaScript/Referencje/Obiekty/Error/prototype', 'Description')}}</div> - -<h3 id="Właściwości_2">Właściwości</h3> - -<div>{{page('pl/docs/Web/JavaScript/Referencje/Obiekty/Error/prototype', 'Properties')}}</div> - -<h3 id="Metody_2">Metody</h3> - -<div>{{page('pl/docs/Web/JavaScript/Referencje/Obiekty/Error/prototype', 'Methods')}}</div> - -<h2 id="Przykłady">Przykłady</h2> - -<h3 id="Rzucanie_ogólnego_błędu">Rzucanie ogólnego błędu</h3> - -<p>Zazwyczaj tworzysz obiekt <code>Error</code> w celu wywołania go przy użyciu słowa kluczowego {{jsxref("Statements/throw", "throw")}}. Możesz obsłużyć tak rzucony błąd przy pomocy konstrukcji {{jsxref("Statements/try...catch", "try...catch")}}:</p> - -<pre class="brush: js notranslate">try { - throw new Error('Whoops!'); -} catch (e) { - alert(e.name + ': ' + e.message); -} -</pre> - -<h3 id="Obsługa_specyficznych_błędów">Obsługa specyficznych błędów</h3> - -<p>Jeżeli chcesz możesz obsługiwać tylko specyficzny rodzaj błędu poprzez użycie właściwości jego {{jsxref("Object.prototype.constructor", "constructor")}} lub, jeżeli używasz nowoczesnego silnika JavaScript, poprzez słowo kluczowe {{jsxref("Operators/instanceof", "instanceof")}}:</p> - -<pre class="brush: js notranslate">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="Niestandardowe_typy_błędów">Niestandardowe typy błędów</h3> - -<p>Możesz chcieć zdefiniować własny typ błędu pochodzący z klasy <code>Error</code> z możliwością rzucenia błędu <code>throw new MyError()</code> i użycia <code>instanceof MyError</code> w celu sprawdzenia jego rodzaju. Skutkuje to czystszym i spójniejszym kodem obsługi błędów. Zobacz <a href="http://stackoverflow.com/questions/1382107/whats-a-good-way-to-extend-error-in-javascript">"What's a good way to extend Error in JavaScript?"</a> na StackOverflow dla dogłębniejszej analizy.</p> - -<h4 id="ES6_Custom_Error_Class">ES6 Custom Error Class</h4> - -<div class="warning"> -<p>Babel i inne transpilatory nie potrafią poprawnie obsłużyć podanego kodu bez <a href="https://github.com/loganfsmyth/babel-plugin-transform-builtin-extend">dodatkowej konfiguracji</a>.</p> -</div> - -<div class="note"> -<p>Nie które przeglądarki dodają constructor <code>CustomError</code> w stosie błędu kiedy używamy klas ES2015</p> -</div> - -<pre class="brush: js notranslate">class CustomError extends Error { - constructor(foo = 'bar', ...params) { - // Pass remaining arguments (including vendor specific ones) to parent constructor - super(...params); - - // Maintains proper stack trace for where our error was thrown (only available on V8) - if (Error.captureStackTrace) { - Error.captureStackTrace(this, CustomError); - } - - // Custom debugging information - this.foo = foo; - this.date = new Date(); - } -} - -try { - throw new CustomError('baz', 'bazMessage'); -} catch(e){ - console.log(e.foo); //baz - console.log(e.message); //bazMessage - console.log(e.stack); //stacktrace -}</pre> - -<h4 id="ES5_Custom_Error_Object">ES5 Custom Error Object</h4> - -<div class="warning"> -<p><strong>Wszystkie</strong> przeględarki dodają konstruktor <code>CustomError </code>kiedy używasz konstruktora z wykorzystaniem prototype</p> -</div> - -<pre class="brush: js notranslate">function CustomError(foo, message, fileName, lineNumber) { - var instance = new Error(message, fileName, lineNumber); - instance.foo = foo; - Object.setPrototypeOf(instance, Object.getPrototypeOf(this)); - if (Error.captureStackTrace) { - Error.captureStackTrace(instance, CustomError); - } - return instance; -} - -CustomError.prototype = Object.create(Error.prototype, { - constructor: { - value: Error, - enumerable: false, - writable: true, - configurable: true - } -}); - -if (Object.setPrototypeOf){ - Object.setPrototypeOf(CustomError, Error); -} else { - CustomError.__proto__ = Error; -} - - -try { - throw new CustomError('baz', 'bazMessage'); -} catch(e){ - console.log(e.foo); //baz - console.log(e.message) ;//bazMessage -}</pre> - -<h2 id="Specyfikacja">Specyfikacja</h2> - -<table class="standard-table"> - <tbody> - <tr> - <th scope="col">Specification</th> - <th scope="col">Status</th> - <th scope="col">Comment</th> - </tr> - <tr> - <td>{{SpecName('ES1')}}</td> - <td>{{Spec2('ES1')}}</td> - <td>Początkowa definicja. Zaimplementowana w 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('ES2015', '#sec-error-objects', 'Error')}}</td> - <td>{{Spec2('ES2015')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('ESDraft', '#sec-error-objects', 'Error')}}</td> - <td>{{Spec2('ESDraft')}}</td> - <td></td> - </tr> - </tbody> -</table> - -<h2 id="Kompatybilność">Kompatybilność</h2> - -<div> - - -<p>{{Compat("javascript.builtins.Error")}}</p> -</div> - -<h2 id="Zobacz_także">Zobacz także</h2> - -<ul> - <li>{{jsxref("Error.prototype")}}</li> - <li>{{jsxref("Statements/throw", "throw")}}</li> - <li>{{jsxref("Statements/try...catch", "try...catch")}}</li> -</ul> |