Błąd logiczny
Błąd logiczny (lub błąd w logice programu) to pomyłka w kodzie źródłowym programu, która prowadzi do nieprawidłowego lub nieoczekiwanego działania. Jest to rodzaj błędu wykonania, który może po prostu powodować wyświetlenie nieprawidłowych danych wyjściowych albo doprowadzić do awarii programu podczas działania.
Wiele różnych rodzajów błędów programistycznych może powodować błędy logiczne. Na przykład przypisanie wartości do niewłaściwej zmiennej może wywołać serię nieoczekiwanych błędów programu. Pomnożenie dwóch liczb zamiast ich dodania również może prowadzić do niepożądanych wyników. Nawet drobne literówki, które nie powodują błędów składni, mogą wywoływać błędy logiczne. W poniższym przykładzie kodu PHP instrukcja if może powodować błąd logiczny, ponieważ pojedynczy znak równości (=) powinien być podwójnym znakiem równości (==).
Nieprawidłowo: if ($i=1) { ... }
Prawidłowo: if ($i==1) { ... }
W PHP „==” oznacza „jest równe”, a „=” oznacza „staje się”. Dlatego nieprawidłowa instrukcja if zawsze zwraca wartość TRUE, ponieważ przypisanie zmiennej $i wartości 1 zwraca wartość TRUE. W prawidłowym kodzie instrukcja if zwraca wartość TRUE tylko wtedy, gdy $i jest równe 1. Ponieważ jednak składnia nieprawidłowego kodu jest dopuszczalna, nie spowoduje on błędu składni, a kod zostanie pomyślnie skompilowany. Błąd logiczny może zostać zauważony dopiero podczas wykonywania programu. Ponieważ błędy logiczne są często ukryte w kodzie źródłowym, zazwyczaj trudniej je znaleźć i debugować niż błędy składni.
Sprawdź swoją wiedzę