Techniki Zaawansowane
38 min · JavaScript · Full-stack i Programowanie
Adam GospodarczykZ perspektywy doświadczeń użytkownika (UX) wystąpienie błędu nie musi oznaczać złych skojarzeń. Poprawnie obsłużone wyjątki, połączone z właściwą prezentacją i konkretnym komunikatem, mogą stać się mocną stroną aplikacji. Pierwszy krok znajduje się jednak po stronie kodu i dlatego w warsztacie poznasz sposoby pracy z try .. catch oraz funkcjami przechwytującymi błędy występujące w różnych miejscach aplikacji.
Błędy w JavaScript podzielone są na kilka kategorii. Niektóre z nich związane są bezpośrednio ze składnią, inne ze sposobem działania. Istnieje także sposób rozszerzenia wbudowanych w ten język obiektów, które można dostosować do potrzeb własnej aplikacji. Podczas warsztatu dowiesz się, w jakich sytuacjach występują określone wyjątki oraz co możesz z nimi zrobić.
Debugowanie (omówione w innym warsztacie eduweb.pl) blisko powiązane jest z obsługą błędów. Jednak trzeba rozróżnić niepoprawne działanie kodu od błędów wynikających z czynników zewnętrznych. Przykładem może być próba wgrania pliku, posiadającym nieobsługiwany format. Użytkownik, który otrzyma jasną informację o tym, co zrobił nie tak, w większości przypadków samodzielnie rozwiąże problem. Zaprojektowanie kodu w sposób, który poprawnie reaguje na podobne sytuacje, jest dość wymagające. Z tego powodu połączenie wiedzy o obsłudze błędów, debugowaniu, a także automatycznych testach, jest bardzo pomocne. W tym warsztacie zdobędziesz wiedzę w pierwszym z wymienionych obszarów.
Wraz z rozwojem aplikacji, konieczne staje się stworzenie spójnej logiki odpowiedzialnej za przechwytywanie i obsługę błędów. Spójność jest istotna nie tylko z punktu widzenia użytkownika końcowego, ale także samego zespołu zaangażowanego w rozwój produktu. Wprowadzenie zmian w sposobie wyświetlania błędów lub ich formacie może być uciążliwe, jeśli kod odpowiedzialny za ich wyświetlanie znajduje się w wielu miejscach. Podczas warsztatu omówimy przykład wspólnej dla całej aplikacji, logiki obsługi błędów.
Obsługa błędów w przypadku kodu asynchronicznego jest szczególnie trudna, ponieważ mówimy tutaj o dość dużej nieprzewidywalności oraz różnicach, które mają miejsce w zależności od źródła danych z którym pracujemy. Dlatego jednym z elementów na których się skupimy będzie wyłapywanie wyjątków w składni async / await oraz Promise API.
Warsztat został stworzony z myślą o osobach znających JavaScript. Omówione w nim techniki sprawdzą się zarówno w przypadku obsługi błędów po stronie klienta, jak i serwera (node.js). Poza samymi technikami uwzględnione są także elementy związane z szeroko pojętym doświadczeniem użytkownika (UX) oraz doświadczeniem developera / developerki (DX). Jeżeli potrzebujesz dowiedzieć się czegoś więcej o obsłudze błędów, która wykracza poza console.log(), ten warsztat jest dla Ciebie.