JavaRush /Blog Java /Random-PL /Przerwa kawowa #158. 10 wskazówek dotyczących obsługi wyj...

Przerwa kawowa #158. 10 wskazówek dotyczących obsługi wyjątków w Javie

Opublikowano w grupie Random-PL
Źródło: Medium Ten post pomoże Ci lepiej zrozumieć, jak skutecznie obsługiwać wyjątki w Javie. Przerwa kawowa #158.  10 wskazówek dotyczących obsługi wyjątków w Javie — 1Obsługa wyjątków Java może być wyzwaniem. Określenie, które wyjątki Java należy obsłużyć, które wyjątki należy zgłosić ponownie, a które po prostu zignorować, może być trudne. Istnieje jednak wiele przydatnych wskazówek, które mogą skutecznie pomóc w obsłudze wyjątków i tworzeniu nowych aplikacji. Zapoznajmy się z nimi.
  1. Uważaj, co rejestrujesz.
  2. Nie ignoruj ​​zgłoszonych wyjątków.
  3. Użyj globalnej procedury obsługi wyjątków.
  4. Nie zamykaj zasobów ręcznie.
  5. Zgłaszaj wcześniej i obsługuj wyjątki później.
  6. Wyjątków Java nie należy rejestrować ani ponownie zgłaszać.
  7. Sprawdź wyłączone wyjątki.
  8. W instrukcji rzutu precyzyjnie zadeklaruj wyjątki.
  9. Najpierw obsłuż najbardziej oczywisty wyjątek.
  10. Użyj nowoczesnej semantyki obsługi wyjątków.

1. Uważaj, co rejestrujesz

Twórcy oprogramowania powinni zawsze być świadomi praw swoich klientów do bezpieczeństwa i prywatności.
  • Program Java może przenosić dane do innych systemów i ogromna liczba programistów i administratorów może z nim pracować (w tym naprawiać błędy).
  • Jeśli w plikach dziennika zostaną zapisane jakiekolwiek wrażliwe dane, Twoja firma nie będzie spełniać wymogów bezpieczeństwa i możesz stracić pracę.

2. Nie ignoruj ​​zgłoszonych wyjątków

Nie łap wyjątku, a następnie go ignoruj. Ukrywanie wyjątków nie jest dobrym sposobem radzenia sobie z nimi w Javie. Zapisz przynajmniej nazwę wyjątku i powiązany komunikat. Dzięki temu w Twoim wpisie będzie można znaleźć informację o problemie. Debugowanie aplikacji Java z powodu ukrytych wyjątków jest niezwykle trudne.

3. Użyj globalnej procedury obsługi wyjątków

Podczas wykonywania programu zawsze wystąpią pewne wyjątki, które nie zostały wcześniej przechwycone w kodzie. Dlatego zawsze dodawaj globalną procedurę obsługi wyjątków do obsługi nieprzechwyconych wyjątków. Umożliwi to nie tylko zarejestrowanie i obsługę wyjątku, ale także zapobiegnie awarii aplikacji, jeśli wyjątek zostanie zgłoszony w czasie wykonywania.

4. Nie zamykaj zasobów ręcznie

Innym ważnym zaleceniem dotyczącym obsługi wyjątków Java jest zezwolenie maszynie JVM na wywoływanie metody close() na zamykanych zasobach. Nie próbuj ich samodzielnie zamykać. Można to łatwo osiągnąć, inicjując zasoby w module try-resources . Semantyka:
public class TryWithResourcesExample {

public static void main(String[] args) throws Exception {

try (Door door = new Door()) {

door.swing();

} catch (Exception e) { ..... }

} finally { .....}

}

}
Jak widać, po zakończeniu bloku try...catch maszyna JVM zamyka zasób, eliminując możliwość skomplikowanych i trudnych do naprawienia wycieków zasobów.

5. Zgłaszaj wcześniej i obsługuj wyjątki później

Zgłaszaj wyjątek za każdym razem, gdy w kodzie wystąpi warunek wyjątku. Nie czekaj na wykonanie jakichkolwiek wierszy kodu przed wyjściem z metody, w której się znajdujesz. Przy wyłapywaniu wyjątków funkcję należy umieścić na końcu metody. Zmniejsza to liczbę bloków catch w metodach, dzięki czemu kod jest łatwiejszy do odczytania i utrzymania.

6. Nie należy rejestrować i ponownie zgłaszać wyjątków Java

Jeśli wystąpi wyjątek, wykonaj jedną z następujących czynności:
  • Kontynuuj pracę z programem podczas rejestrowania wyjątku.
  • Zgłoś wyjątek ponownie i zezwól na inny sposób rejestrowania danych.
Nie łącz obu etapów. Nigdy nie rejestruj, a następnie nie zgłaszaj ponownie tego samego wyjątku, jak pokazano w poniższym przykładzie:
try {

Class.forName("com.min.Example");

} catch (ClassNotFoundException ex) {

log.warning("Class was not found.");

throw ex;

}
Powoduje to powielanie kodu i zatykanie plików dziennika zduplikowanymi wpisami, co znacznie utrudnia zdiagnozowanie kodu.

7. Sprawdź wyłączone wyjątki

Pominięty wyjątek to nowa funkcja językowa, o której nie wiedzą wszyscy programiści. Implementując sprawdzoną metodę z zasobami, można zgłosić jednocześnie dwa wyjątki. Warunek ten można łatwo sprawdzić, wysyłając zapytanie o obecność pominiętego wyjątku. Jedynym sposobem sprawdzenia, czy ten warunek wystąpił, jest sprawdzenie, czy wyjątek docelowy zawiera również wyjątek pominięty.

8. Używając instrukcji rzut, określ dokładne wyjątki

Używając instrukcji rzutu w treści metody, nieostrożny programista użyłby ogólnej klasy wyjątków. Nie jest to jednak najlepszy sposób obsługi wyjątków w Javie. Zamiast tego zawsze określaj dokładne wyjątki, które może zgłosić metoda. iPomaga innym programistom poznać różne techniki obsługi błędów, których można użyć, gdy dana metoda nie działa zgodnie z oczekiwaniami.

9. Najpierw obsłuż najbardziej oczywisty wyjątek

Jest to bardziej wymaganie kompilatora niż wskazówka dotycząca praktyk obsługi wyjątków w Javie, ale programista powinien zawsze najpierw obsługiwać najbardziej oczywisty wyjątek, a najmniej pewny wyjątek na końcu. Jeśli ta zasada nie będzie przestrzegana, JVM zwróci błąd w czasie kompilacji z bardzo tajemniczym i trudnym do zrozumienia komunikatem o błędzie. Ułatw sobie życie jako programista, zawsze obsługując pewne wyjątki w swoim kodzie.

10. Stosuj nowoczesną semantykę obsługi wyjątków

Java udostępnia wiele funkcji obsługi błędów i wyjątków, które upraszczają programowanie i znacznie zmniejszają ilość kodu Java. Skorzystaj z możliwości obsługi wielu wyjątków w jednym bloku catch i automatycznie zamykaj zasoby za pomocą bloku try . Użyj wyjątków środowiska wykonawczego, aby inni programiści nie musieli obsługiwać zgłaszanych wyjątków.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION