Wyjątki bardzo ułatwiają pisanie kodu, w którym zgłoszony wyjątek spowoduje złamanie niezmienników i pozostawienie obiektów w niespójnym stanie. Zasadniczo zmuszają cię do zapamiętania, że większość wypowiedzi, które wypowiadasz, może potencjalnie rzucić i obsłużyć to poprawnie. Może to być trudne i sprzeczne z intuicją.
Dlaczego wyjątki są złym C++?
Głównym powodem, dla którego wyjątki C++ są tak często zabronione, jest to, że bardzo trudno jest napisać bezpieczny dla wyjątków kod C++. Bezpieczeństwo wyjątków nie jest terminem, który słyszysz bardzo często, ale zasadniczo oznacza kod, który nie psuje się zbytnio, jeśli stos zostanie rozwinięty.
Czy oprócz wyjątku jest zły?
Powinieneś użyć co najmniej except Exception : aby uniknąć przechwycenia systemu exceptions takiego jak SystemExit lub KeyboardInterrupt. Oto link do dokumentów. Ogólnie rzecz biorąc, powinieneś wyraźnie zdefiniować wyjątki , które chcesz przechwycić, aby uniknąć przechwycenia niechcianych wyjątków . Powinieneś wiedzieć, które wyjątki ignorujesz.
Dlaczego wyłapywanie wyjątków prawie zawsze jest złym pomysłem?
catch(Exception) to zła praktyka ponieważ przechwytuje również wszystkie wyjątki RuntimeException (niesprawdzony wyjątek). Może to być specyficzne dla Javy: Czasami będziesz musiał wywołać metody, które zgłaszają sprawdzone wyjątki. Jeśli jest to w Twojej warstwie EJB / logiki biznesowej, masz 2 możliwości - złap je lub wyrzuć ponownie.
Czy wyjątki mają negatywny wpływ na wydajność?
Wniosek. Nie używamwyjątki ze względu na ich potencjalny wpływ na wydajność to zły pomysł. Wyjątki pomagają zapewnić jednolity sposób radzenia sobie z problemami w czasie wykonywania i pomagają pisać czysty kod. Musisz jednak prześledzić liczbę wyjątków, które są rzucane w twoim kodzie.