Jak rozwiązać błąd nieosiągalnego kodu instrukcji w Javie?

Jak Rozwiazac Blad Nieosiagalnego Kodu Instrukcji W Javie



Najczęstszym błędem napotykanym przez programistów jest nieosiągalny kod instrukcji, ponieważ jest on ukryty i nie generuje żadnego błędu podczas wykonywania. Ta część jest niejako ukryta, ponieważ kompilator nie odwiedza ani nie kompiluje tej części kodu, ponieważ znajduje się ona w miejscu, które jest nieosiągalną sekcją dla kodu.

W tym artykule przedstawiono procedurę obsługi błędu kodu instrukcji unreachable w Javie.

Jak rozwiązać błąd nieosiągalnego kodu instrukcji w Javie?

Przyczyną błędów nieosiągalnego kodu instrukcji w Javie może być wiele przyczyn, wraz z odpowiednimi rozwiązaniami. Ten błąd nie jest oparty na składni, jest to błąd czysto logiczny lub w niektórych przypadkach może wystąpić z powodu błędu ludzkiego. Zanim przejdziemy do rozwiązań, przyjrzyjmy się najpierw przyczynom, które mogą być przyczyną błędów kodu instrukcji unreachable:







Powód 1: Kod wstawiony po instrukcji „break”.



przerwa Instrukcja ” jest używana wzdłuż instrukcji podejmowania decyzji i pętli. Zatrzymuje cykl wykonania po osiągnięciu żądanego stanu. Kompilator nie dociera do wiersza, który pojawia się obok „ przerwa ” w tym bloku. Kompilator zatrzymuje cykl wykonania i przechodzi do następnej instrukcji w hierarchii DOM.



Odwiedź poniższy kod:





klasa Połowa {
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Do ( int I = 0 ; I <= 10 ; ++ I ) {
Jeśli ( I == 5 ) {
przerwa ;
System . na zewnątrz . println ( I ) ;
}
}
}
}

Powyższy kod powinien wyświetlać wartości z „ 0 ' Do ' 4 ”. Ale używając stwierdzenia po „ przerwa ” instrukcja nieosiągalna pojawia się błąd instrukcji:



Dane wyjściowe pokazują wystąpienie błędu instrukcji unreachable.

Rozwiązanie: spróbuj wstawić kod nad instrukcją „break”.

Rozwiązaniem jest użycie instrukcji poza blokiem, w którym „ blok ” jest używane. Na przykład powyższy kod działa prawidłowo, jeśli instrukcja jest umieszczona poza „ Jeśli ” blok instrukcji, jak pokazano poniżej:

Powyższa migawka z IDE pokazuje, że teraz błąd kodu nieosiągalnej instrukcji został rozwiązany.

Powód 2: Kod wstawiony po instrukcji „kontynuuj”.

Kontynuować Instrukcja ” jest używana, gdy programista chce pominąć określoną iterację, aby zostać wykonanym przez pętlę. Kompilator przerywa cykl wykonania za każdym razem, gdy znajdzie „ Kontynuować ” stwierdzenie w kodzie. Dlatego kod wykonany po „ Kontynuować ” powoduje błąd „nieosiągalny kod instrukcji”:

klasa Połowa {
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) {
Do ( int I = 0 ; I <= 10 ; ++ I ) {
Jeśli ( I == 5 ) {
Kontynuować ;
System . na zewnątrz . println ( I ) ;
}
}
}
}

Wyjście powyższego kodu wygląda następująco:

Dane wyjściowe pokazują, że wystąpił „nieosiągalny błąd kodu”.

Rozwiązanie: Wstaw kod poza blok instrukcji „continue”.

Aby go rozwiązać, po prostu użyj kodu poza „ Kontynuować ” blok instrukcji:

Po zmianie pozycji błąd jest usuwany automatycznie.

Powód 3: Kod wstawiony po oświadczeniu „return”.

Ten scenariusz jest taki sam jak powyżej, kompilator pomija część kodu umieszczoną po „ powrót ' oświadczenie. To dlatego, że „ powrót ” to koniec, po którym kompilator nie ma już nic do wykonania, jak pokazano na poniższej migawce:

Rozwiązanie: Wstawiono kod po instrukcji „return” w metodzie main().

Aby rozwiązać ten problem, wprowadź kod po „ powrót ” instrukcja w metodzie main():

Powód 4: Kod wstawiony po instrukcji „throw”.

Linia kodu wstawiona po „ rzucić ” oświadczenie w „ próbować ” blok pozostawia nieskompilowane przez kompilator. Na przykład odwiedź poniższy kod:

klasa Połowa {
publiczny statyczny próżnia główny ( Strunowy [ ] argumenty ) //utworzenie metody main().
{
próbować {
rzucić nowy Wyjątek ( „Pierwszy wyjątek” ) ;
System . na zewnątrz . println ( „Po zgłoszeniu wyjątku” ) ;
}
złapać ( Wyjątek k ) {
System . na zewnątrz . println ( k. pobierz wiadomość ( ) ) ;
}
}
}

W powyższym kodzie wyświetl fikcyjny komunikat, który jest napisany po „ rzucić słowo kluczowe.

Po wykonaniu powyższego kodu:

Powyższa migawka pokazuje występowanie „nieosiągalnego błędu kodu” z powodu użycia kodu po „ rzucić ' oświadczenie.

Rozwiązanie: wstaw kod przed słowem kluczowym „throw”.

Aby rozwiązać ten problem, spróbuj wstawić datę przed „ rzucić ' oświadczenie. Na przykład odwiedź poniższą migawkę kodu naprawionego błędu:

Powyższe dane wyjściowe pokazują, że wyjątek został usunięty, a kod działa teraz poprawnie.

Wniosek

nieosiągalny kod instrukcji ” pojawia się, gdy linia kodu jest zapisywana w miejscu niedostępnym dla kompilatora. Możliwe miejsca to „po instrukcji block”, „po instrukcji continue”, „po instrukcji return” lub „pod instrukcją throw” itp. Jest to błąd logiczny i można go łatwo rozwiązać, wielokrotnie przeglądając kod i zrozumienie sposobu, w jaki kompilator kompiluje kod.