Rozważ następujący segment Jawa kod przechowywany w pliku o nazwie JollyMessage.java:
// Radosna wiadomość jest zapisywana na ekranie!
klasa Jollymessage
{
public static void main (String [] args) {
// Napisz wiadomość do okna terminala
System.out.println („Ho Ho Ho!”);
}
}
Podczas wykonywania programu ten kod wyświetli komunikat o błędzie środowiska wykonawczego. Innymi słowy, gdzieś popełniono błąd, ale błąd nie zostanie zidentyfikowany, gdy program jest skompilowany, tylko kiedy jest biegać.
Debugowanie
W powyższym przykładzie zauważ, że klasa nosi nazwę „Jollymessage”, podczas gdy nazwa pliku jest nazywana JollyMessage.java.
W Javie rozróżniana jest wielkość liter. Kompilator nie narzeka, ponieważ technicznie nie ma nic złego w kodzie. Stworzy plik klasy, który dokładnie pasuje do nazwy klasy (tj. Jollymessage.class). Po uruchomieniu programu o nazwie JollyMessage pojawi się komunikat o błędzie, ponieważ nie ma pliku o nazwie JollyMessage.class.
Błąd pojawiający się po uruchomieniu programu o niewłaściwej nazwie to:
Wyjątek w wątku „main” java.lang. NoClassDefFoundError: JollyMessage (zła nazwa: JollyMessage)..
Typowe rozwiązania błędów czasu wykonywania
Jeśli Twój program kompiluje się pomyślnie, ale nie działa podczas wykonywania, sprawdź kod pod kątem typowych błędów:
- Niedopasowane pojedyncze i podwójne cytaty
- Brakujące cytaty dla ciągów
- Niepoprawne operatory porównania (np. Niestosowanie podwójnych znaków równości do wskazania przypisania)
- Odwoływanie się do obiektów, które nie istnieją lub nie istnieją przy użyciu wielkich liter zawartych w kodzie
- Odwołanie do obiektu, który nie ma właściwości
Praca w zintegrowanych środowiskach programistycznych, takich jak Eclipse, może pomóc w uniknięciu błędów typu literówka.
Aby debugować produkcyjne programy Java, uruchom debuger przeglądarki internetowej - powinieneś zobaczyć komunikat o błędzie szesnastkowym, który może pomóc w ustaleniu konkretnej przyczyny problemu.
W niektórych sytuacjach problem może nie leżeć w kodzie, ale w wirtualnej maszynie Java. Jeśli JVM dusi się, może wykopać błąd środowiska wykonawczego pomimo braku niedoboru bazy kodu programu. Komunikat debugera przeglądarki pomoże odizolować kod spowodowany błędami JVM.