Zpo-11-wyk-Slajd51
Replace Exception with Test
Motywacja dla tego przekształcenia wynika z obserwacji, że wielu sytuacji wyjątkowych w systemie można uniknąć, jeżeli możliwe byłoby wykluczenie okoliczności, które je powodują. Celem jest zatem zastąpienie zgłoszenia wyjątku sprawdzeniem, czy może on się pojawić.
Pierwszym krokiem przekształcenia jest umieszczenie warunku sprawdzającego warunki wystąpienia wyjątku na początku metody, i skopiowanie ciała klauzuli catch obsługi wyjątku jako akcji wykonywanej jeżeli ten warunek jest spełniony. W celu zabezpieczenia przed wykonaniem klauzuli catch (po przekształceniu wyjątek nie powinien już się pojawić, zatem jego obsługa również jest zbędna) można umieścić w niej asercję dotyczącą warunku poprawności. Ostatnim krokiem jest usunięcie instrukcji obsługi wyjątku i klauzul try oraz catch .