⊗jsSpExcInr 137 of 294 menu

Wprowadzenie do wyjątków w JavaScript

Teraz przyjrzymy się wyjątkom w JavaScript. Na początek zrobię pewne wprowadzenie, w którym znajdą się przykłady wyjątków ogólnie dla dowolnych języków programowania, a potem dowiemy się, jak to wygląda w JavaScript.

Kiedy piszemy nasze programy, domyślnie zakładamy, że wszystkie mechanizmy programowo-techniczne, przez nas używane, będą działać prawidłowo.

Jednak nie zawsze tak jest. Podczas przesyłania danych przez sieć następuje zerwanie połączenia i dane docierają do nas w nieprawidłowej postaci, lub w ogóle nie docierają. Podczas zapisywania pliku okazuje się, że przydzielone nam miejsce na dysku twardym się skończyło i plik nie może zostać zapisany. Podczas odczytywania pliku okazuje się, że takiego pliku nie ma i nie mamy skąd czytać. Podczas drukowania danych na drukarce następuje zerwanie kabla łączącego drukarkę i komputer.

Wszystkie opisane sytuacje mają wspólną istotę: pojawia się pewna awaria, która prowadzi do niemożności lub bezsensowności ukończenia zaplanowanej operacji.

Zdarzają się także sytuacje, w których pojawia się pewien błąd, niebędący awarią. Na przykład, pytasz użytkownika o jego email, a on wprowadza email w nieprawidłowym formacie. Jasne jest, że nasz program nie może kontynuować przetwarzania emaila, ponieważ jest on nieprawidłowy. Ale, niemniej jest to - nie wyjątkowa sytuacja. Nasz program może sam poprawić sytuację: wyświetli komunikat o błędzie i użytkownik powtórzy swoje wprowadzenie.

W rzeczywistości różnica między awarią a nie-awarią jest dość rozmyta. Zdarzenie, które jeden program może traktować jako wyjątkową sytuację, inny program może traktować jako pewien błąd, z którym może sobie poradzić.

Kryterium jest tutaj następujące: jeśli przy pojawieniu się problemu twój program może kontynuować wykonywanie tego, do czego jest przeznaczony, to nie jest to wyjątkowa sytuacja, a jeśli nie może - to tak, jest to wyjątek.

Na przykład, mamy program, który ma zapytać o email użytkownika. Jeśli użytkownik wprowadził email w nieprawidłowym formacie - to nie jest awaria. To oczekiwany problem i nasz program będzie pytać użytkownika o email tyle razy, aż nie wprowadzi go prawidłowo.

Załóżmy, że nasz program, który pyta o email, musi również wysłać ten prawidłowy email przez internet. Przy tym okazuje się, że internet nie działa. Oto jest już problem: program w żaden sposób nie będzie w stanie wysłać danych przez internet, jeśli internet nie działa. Program, niemniej jednak, może kontynuować swoje wykonanie: może wyświetlić informację o problemie, powtórzyć próbę wysłania po pewnym czasie, i tak dalej. Ale te działania to już nie do końca to, do czego program był przeznaczony, ponieważ główne działanie - wysłanie emaila program zrobić nie zdoła.

Bardzo często to, czy sytuacja jest wyjątkowa czy nie, zależy od języka programowania. W wielu językach, jeśli nagle nastąpiło dzielenie przez zero - jest to uważane za wyjątek (ponieważ nie wolno dzielić przez zero), ale w JavaScript - nie jest uważane (w JavaScript można dzielić przez zero).

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć