Veelvoorkomende Java Runtime-fouten

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.

Debugging

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)… 

Gemeenschappelijke Runtime-Error Solutions

Als uw programma met succes wordt gecompileerd maar tijdens de uitvoering mislukt, controleert u uw code op veelgemaakte fouten:

  • Niet-overeenkomende enkele en dubbele aanhalingstekens
  • Ontbrekende aanhalingstekens voor tekenreeksen
  • Onjuiste vergelijkingsoperatoren (bijvoorbeeld geen dubbele gelijktekens gebruiken om de toewijzing aan te geven)
  • Verwijzen naar objecten die niet bestaan ​​of niet bestaan ​​met behulp van de hoofdletters in de code
  • Verwijzen naar een object dat geen eigenschappen heeft

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.