DOMError#
Wstęp#
Interfejs DOMError stanowi definicję Web IDL dla obiektów reprezentujących błędy, które powstały w wyniku niewłaściwego zastosowania poleceń DOM w programie. Są one potocznie nazywane błędami DOM #.
Specyfikacja DOM4 całkowicie przedefiniowuje interfejs DOMError, który po raz pierwszy wprowadzony został w DOM3. Od tej pory interfejs posiada tylko dwie właściwości name
i message
.
Błędy DOM stanowią alternatywę względem wyjątków DOM. Interfejs DOMError przeznaczony został dla innych specyfikacji, które chcą wprowadzić obsługę błędów za pomocą innych środków niż wyjątki. Można także samodzielnie tworzyć własne błędy DOM. Podobnie jak w przypadku wyjątków, także i tutaj wykorzystywana jest tabela z nazwami błędów.
Błąd DOM o nazwie name oznacza obiekt typu DOMError
, którego właściwość name
ustawiana jest na name i którego właściwość message
jest wiadomością zależną od danej implementacji, udostępnianą w celach wyjaśniających przyczynę błędu.
Specyfikacja może powiedzieć, że właściwość error
pewnego obiektu musi zwrócić błąd DOM o nazwie "SyntaxError"
. Takie rozwiązanie stosowane jest chyba przez wszystkie specyfikacje definiujące błędy DOM w interfejsach Web IDL.
Interfejs DOMError nie dziedziczy z żadnego innego interfejsu w ogólnym ujęciu DOM, chociaż w środowisku JS obiekty implementujące ten interfejs będą dziedziczyły z prototypu najwyższego rzędu. Zachowanie takie jest czymś normalnym w przypadku języka ECMAScript.
Przykładowe specyfikacje W3C, które korzystają z błędów typu DOMError
:
- File API
- File API: Writer
- File API: Directories and System
- Indexed Database API
- Web Alarms API Specification
- Contacts Manager API
- Push API
- Runtime and Security Model for Web Applications
- Quota Management API
- CSS Font Load Events Module Level 3
Obecnie jedynie Firefox (pełne wsparcie) i Opera na Presto (częściowo) obsługują błędy typu DOMError
, ale implementują je na różne sposób. Tak czy inaczej planuje się całkowite porzucenie tego interfejsu i zastąpienie go interfejsem DOMException.
Właściwości DOMError#
Nazwa | Opis |
---|---|
DOMError.message | Zwraca wiadomość wyjaśniającą przyczynę danego błędu reprezentowaną przez łańcuch znakowy. |
DOMError.name | Zwraca nazwę danego błędu reprezentowaną przez łańcuch znakowy. |
Inne DOMError#
Nazwa | Opis |
---|---|
new DOMError() | Konstruktor tworzący nowy błąd DOM. |
Interfejs Web IDL#
[Constructor(DOMString name, optional DOMString message = "")] interface DOMError { readonly attribute DOMString name; readonly attribute DOMString message; };