Tarkastellaan seuraavaa segmenttiä: Jaava koodi, joka on tallennettu tiedostoon nimeltään JollyMessage.java:
// Riemukas viesti kirjoitetaan näytölle!
luokan Jollymessage
{
julkinen staattinen void main (merkkijono [] args) {
// Kirjoita viesti terminaali-ikkunaan
System.out.println ("Ho Ho Ho!");
}
}
Ohjelmaa suoritettaessa tämä koodi tuottaa ajonaikaisen virhesanoman. Toisin sanoen jossain on tehty virhe, mutta virhettä ei tunnisteta, kun ohjelma on koottu, vasta kun se on juosta.
virheenkorjaus
Yllä olevassa esimerkissä huomaa, että luokan nimi on “Jollymessage”, kun taas tiedostonimeä kutsutaan JollyMessage.java.
Java on isot ja pienet kirjaimet. Kääntäjä ei valita, koska teknisesti koodissa ei ole mitään vikaa. Se luo luokkatiedoston, joka vastaa tarkalleen luokan nimeä (ts. Jollymessage.class). Kun suoritat JollyMessage-nimisen ohjelman, saat virheilmoituksen, koska tiedostoa, jonka nimi on JollyMessage.class, ei ole.
Virhe, jonka saat, kun ajat väärää nimeä olevaa ohjelmaa on:
Poikkeus säikeessä “pää” java.lang. NoClassDefFoundError: JollyMessage (väärä nimi: JollyMessage)..
Yleiset Runtime-Error-ratkaisut
Jos ohjelmasi kääntyy onnistuneesti, mutta epäonnistuu toteutuksessa, tarkista koodisi yleisten virheiden varalta:
- Soveltumattomat yhden ja kahden lainausmerkit
- Puuttuvat merkkijonot
- Virheelliset vertailuoperaattorit (esim. Eivät käytä kaksinkertaisia yhtälöitä osoittamaan osoitusta)
- Viittausobjekteja, joita ei ole tai joita ei ole koodin syöttämällä isoilla kirjaimilla
- Viittaus objektiin, jolla ei ole ominaisuuksia
Työskentelemällä integroiduissa kehitysympäristöissä, kuten Eclipse, voidaan välttää kirjoitusvirheitä.
Vedä tuotettavia Java-ohjelmia virheen suorittamalla Web-selaimen vianetsintäohjelma - sinun pitäisi nähdä heksadesimaalinen virheviesti, joka voi auttaa eristämään ongelman erityisen syyn.
Joissain tilanteissa ongelma ei ehkä sisällä koodiasi, vaan Java-virtuaalikoneesi. Jos JVM tukehtuu, se voi käynnistää ajonaikaisen virheen huolimatta puutteesta ohjelman koodikanavassa. Selaimen vianetsintäviesti auttaa eristämään koodin aiheuttamat JVM: n aiheuttamat virheet.