Overweeg het volgende segment van Java-code, opgeslagen in een bestand genaamd JollyMessage.java:
// Er wordt een vrolijk bericht naar het scherm geschreven!
klas Jollymessage
public static void main (String [] args)
// Schrijf het bericht naar het terminalvenster
System.out.println ("Ho Ho Ho!");
Bij uitvoering van het programma geeft deze code een runtime-foutmelding. Met andere woorden, er is ergens een fout gemaakt, maar de fout wordt niet geïdentificeerd wanneer het programma is gecompileerd, alleen wanneer het is rennen.
Merk in het bovenstaande voorbeeld op dat de klasse "Jollymessage" wordt genoemd, terwijl de bestandsnaam wordt genoemd JollyMessage.java.
Java is hoofdlettergevoelig. De compiler zal niet klagen omdat er technisch niets mis is met de code. Er wordt een klassenbestand gemaakt dat exact overeenkomt met de klassenaam (d.w.z. Jollymessage.class). Wanneer u het programma JollyMessage uitvoert, ontvangt u een foutbericht omdat er geen bestand met de naam JollyMessage.class is.
De fout die u ontvangt wanneer u een programma met de verkeerde naam uitvoert, is:
Uitzondering in thread “main” java.lang.NoClassDefFoundError: JollyMessage (verkeerde naam: JollyMessage)…
Als uw programma met succes wordt gecompileerd maar tijdens de uitvoering mislukt, controleert u uw code op veelgemaakte fouten:
Werken in geïntegreerde ontwikkelomgevingen zoals Eclipse kan u helpen fouten in "typefouten" -stijl te voorkomen.
Om productionalized Java-programma's te debuggen, voert u de debugger van uw webbrowser uit - u zou een hexadecimaal foutbericht moeten zien dat kan helpen bij het vinden van de specifieke oorzaak van het probleem.
In sommige situaties kan het probleem niet in uw code liggen, maar in uw Java Virtual Machine. Als de JVM verstikt, kan dit een runtime-fout veroorzaken ondanks het ontbreken van een tekort aan de codebase van het programma. Een foutopsporingsbericht in de browser helpt code te isoleren die is veroorzaakt door JVM-fouten.