Nie rozumiem, dlaczego emma nie daje pełnego kodu do bloków "w końcu". Zrobiłem krótki przykładowy program, aby to pokazać.Dlaczego emma nie daje pełnego pokrycia na końcu bloków?
Kiedy uruchomić program pokazuje:
try
finally
Więc nie rozumiem, dlaczego w końcu jest oznaczony jako czerwony (nie zrealizowanej) i „W końcu” „println” jest oznaczona żółtym (częściowo zrealizowane) . Czy czegoś brakuje? Jak sprawić, by emma zrozumiała, że blok finally jest objęty?
Dziękujemy!
Dziękujemy! W rzeczywistości wykonywanie kodu zi bez wyjątku wewnątrz bloku try daje pełne pokrycie bloku finally. – stivlo
@stivlo Czy możesz wyjaśnić więcej? – JPM
@JPM Przyczyna jest zapisana w łączu dostarczonym przez aioobe: * Kompilator musi zapewnić, że kod czyszczenia [blok finally] jest zawsze wykonywany, niezależnie od tego, czy w bloku try istnieje wyjątek. Istnieją zatem dwie możliwe ścieżki prowadzące do bloku finally: z wyjątkiem i bez wyjątku. * – stivlo