Virheet/varoitukset.

Voit määrittää virheiden ja varoitusten oletusasetukset oletusasetussivulla Virheiden ja varoitusten oletusasetussivun avaus Java > Kääntäjä > Virheet/varoitukset.

Koodityyli

Asetus

Kuvaus

Oletusarvo

Staattisen jäsenen ei-staattinen käyttö

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, kun staattista kenttää tai metodia on käytetty lausekkeen vastaanottajalla. Viittaus staattiseen jäseneen on tarkennettava tyypin nimellä.

Varoitus

Epäsuora staattisen jäsenen käyttö

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, kun staattista kenttää tai metodia käytetään epäsuorasti. Rajapinnan staattinen kenttä on tarkennettava esittelevän tyypin nimellä.

Ohita

Tarkentamaton ilmentymäkentän käyttö

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen, kun se havaitsee kentän käytön, jota ei ole tarkennettu (esimerkiksi "this" puuttuu).

Ohita

Dokumentoimaton tyhjä lohko

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen havaitessaan tyhjän lohkon lauseen ilman selittävää kommenttia.

Ohita

Sisällytystyypin sellaisen jäsenen käyttö, joka ei ole käytettävissä

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen emuloidessaan sisältävän tyypin sellaisen jäsenen käyttöä, joka ei ole käytettävissä. Tällaisilla käytöillä voi olla vaikutuksia suoritustehoon.

Ohita

Metodi, jolla on konstruktorin nimi

Metodin nimeämistä konstruktorin nimellä pidetään yleisesti huonona ohjelmointitapana. Kun tämä asetus on käytössä, kääntäjä ilmoittaa tällaisista tapauksista joko virheenä tai varoituksena.

Varoitus

Parametrin arvon osoitus

Parametrin arvon osoitusta pidetään yleisesti huonona ohjelmointitapana. Kun tämä asetus on käytössä, kääntäjä ilmoittaa tällaisista tapauksista joko virheenä tai varoituksena.

Ohita

Ulkoistamattomat merkkijonot

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen ulkoistamattomista merkkijonon literaaleista (joita ei ole merkitty tunnisteella //$NON-NLS-<n>$) ja ulkoistamattomista merkkijonotunnisteista, jotka eivät kuulu merkkijonoon.

Ohita

Mahdolliset ohjelmointihäiriöt

Peräkkäistettävä luokka ilman serialVersionUID-kenttää

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen, kun luokan "java.io.Serializable" toteuttava tyyppi ei sisällä serialVersionUID-kenttää.

Varoitus

Osoituksella ei ole vaikutusta (esim. 'x = x')

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen aina, kun osoituksella ei ole vaikutusta (esim. 'x = x').

Varoitus

Mahdollinen tahaton Boolen arvon osoitus (esim. 'if (a = b)')

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan mahdollisen tahattoman Boolen arvon osoituksen (esimerkiksi if (a = b)).

Ohita

"Finally" ei pääty normaalisti

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen aina, kun "finally"-lause ei pääty normaalisti (sisältää esimerkiksi paluulauseen).

Varoitus

Tyhjä lause

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen havaitessaan tyhjän lauseen (esimerkiksi tarpeettoman puolipisteen).

Ohita

Käytetään char-taulukkoa merkkijonon liitostuksessa

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen aina, kun merkkijonon liitostuksissa käytetään char[]-lauseketta,

"hello" + new char[]{'w','o','r','l','d'}

Varoitus

Piilotetut catch-lohkot

Jotkin catch-lohkot voivat piilottaa muita catch-lohkoja paikallisesti try-lausetta varten, esimerkiksi

try { throw new java.io.CharConversionException();
} catch (java.io.CharConversionException e) {
} catch (java.io.IOException e) {}.

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen valittuja poikkeuksia vastaavia piilotettuja catch-lohkoja varten.

Varoitus

Epätarkka tyypin vastine vararg-argumenteille

Kun tämä asetus on käytössä, kääntäjä tuottaa virheen tai varoituksen havaitessaan epätarkan tyypin vastineen vararg-argumenteille.

Varoitus

Lokeroinnin ja lokeroinnin purun muunnokset

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan lokeroinnin tai lokeroinnin purun muunnoksen. Automaattinen lokerointi saattaa huonontaa suoritustehoa.

Ohita

Switch-lause ei kata enum-tyypin vakiota

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai tai varoitusilmoituksen havaitessaan switch-lauseen, joka ei sisällä case-lauseita jokaista viitatun luetteloinnin enum-vakiota varten.

Ohita

Toteutumaton switch-lauseen case-haara

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan switch-lauseen case-haaran, jossa ei ole break-lausetta. Tyhjät switch-lauseen case-haarat ovat sallittuja.

Ohita

Null-arvoinen viittaus

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan, että paikallismuuttujalle, joka voi olla tyhjäarvoinen (null), ei ole määritetty viittausta. Huomaa, että analyysi on melko varovainen ja siinä huomioidaan vain epäilyttävät tapaukset.

Ohita

Nimen varjostus ja ristiriidat

Kentän esittely piilottaa toisen kentän tai muuttujan

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, jos kentän esittely piilottaa toisen perityn kentän.

Ohita

Paikallismuuttujan esittely piilottaa toisen kentän tai muuttujan

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai tai varoitusilmoituksen, jos paikallismuuttujan esittely piilottaa toisen kentän tai muuttujan.

Ohita

Sisällytä konstruktorin tai asetusmetodin parametrit

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, jos konstruktori tai asetusmetodi piilottaa toisen kentän tai muuttujan.

Ei käytössä

Tyypin parametri piilottaa toisen tyypin

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, jos esimerkiksi sisältävän luokan tyypin parametri piilottaa ulkotyypin.

Varoitus

Metodit on ohitettu, mutta ne eivät ole näkyviä paketissa

Paketin oletusmetodi ei ole näkyvissä eri paketeissa, joten sitä ei voi ohittaa. Kun tämä asetus on käytössä, kääntäjä ilmoittaa tällaisista tapauksista joko virheenä tai varoituksena.

Varoitus

Rajapintametodi on ristiriidassa suojatun Object-metodin kanssa

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen aina, kun rajapinta määrittää metodin yhteensopimattomaksi ei-perityn Object-metodin kanssa. Tällaista rajapintaa ei voi toteuttaa, ennen kuin ristiriita on ratkaistu. Esimerkki:

interface I {
   int clone();
}

Varoitus

Vanhentunut ja rajoitettu API-sovellusohjelmaliittymä

Vanhentunut API-sovellusohjelmaliittymä

Kun tämä asetus on käytössä, kääntäjä ilmoittaa vanhentuneen sovellusohjelmaliittymän käytöstä joko virheen tai varoituksen muodossa.

Varoitus

Ilmoitus vanhentuneen API-sovellusohjelmaliittymän käytöstä vanhentuneen koodin sisällä

Kun tämä asetus on käytössä, kääntäjä ilmoittaa vanhentuneen API-sovellusohjelmaliittymän käytöstä vanhentuneen koodin sisällä. Häiriön vakavuutta ohjataan asetuksella "Vanhentunut API-sovellusohjelmaliittymä".

Ei käytössä

Ilmoitus korvaavan tai toteuttavan vanhentuneen koodin käytöstä

Kun tämä asetus on käytössä, kääntäjä ilmoittaa vanhentuneen metodin korvauksesta tai toteutuksesta. Häiriön vakavuutta ohjataan asetuksella "Vanhentunut API-sovellusohjelmaliittymä".

Ei käytössä

Kielletty viite (saantisäännöt)

Kun tämä asetus on käytössä, kääntäjä ilmoittaa saantisäännöissä määritetystä kielletystä viitteestä.

Virhe

Ei-suositeltu viite (saantisäännöt)

Kun tämä asetus on käytössä, kääntäjä ilmoittaa saantisäännöissä määritetystä ei-suositellusta viitteestä.

Varoitus

Tarpeeton koodi

Paikallismuuttujaa ei koskaan lueta

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, kun esiteltyä paikallismuuttujaa ei käytetä omassa alueessaan.

Varoitus

Parametria ei koskaan lueta

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen, kun esiteltyä paikallismuuttujaa ei käytetä omassa alueessaan.

Ohita

Tarkista korvaavat ja toteuttavat metodit

Kun tämä asetus on käytössä, kääntäjä tuottaa lisäksi virhe- tai varoitusilmoituksen, kun esiteltyä paikallismuuttujaa ei käytetä oman alueensa korvaavissa tai toteuttavissa metodeissa.

Ei käytössä

Käyttämätön tuonti

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen käyttämättömistä tuontiviittauksista.

Varoitus

Käyttämättömät paikalliset tai yksityiset jäsenet

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen aina, kun paikallinen tai yksityinen jäsen esitellään, mutta sitä ei koskaan käytetä samassa yksikössä.

Varoitus

Tarpeeton else-lause

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan tarpeettoman else-lauseen (esimerkiksi if (condition) return; else doSomething();)).

Ohita

Tarpeeton lajinvaihto- tai instanceof-toiminto

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan tarpeettoman lajinvaihto- tai "instanceof"-toiminnon (esimerkiksi if (object instanceof Object) return;).

Ohita

Tarpeeton thrown checked -poikkeuksen esittely

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan tarpeettoman tuotetun poikkeuksen esittelyn.

Ohita

Tarkista korvaavat ja toteuttavat metodit

Kun tämä asetus on käytössä, kääntäjä tuottaa lisäksi virhe- tai varoitusilmoituksen havaitessaan tarpeettoman tuotetun poikkeuksen esittelyn korvaavassa tai toteuttavassa metodissa.

Ei käytössä

Käyttämätön break- tai continue-nimiö

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan käyttämättömän break- tai continue-nimiön.

Varoitus

Yleiset tyypit

Unchecked-yleistyypin toiminto

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan unchecked-yleistyypin toiminnon.

Varoitus

Muotoilemattoman tyypin käyttö

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan muotoilemattoman tyypin käytön (esimerkiksi List-määritys määrityksen List<String> sijasta).

Ohita

Yleistyypin parametri, joka on esitelty lopullisen tyypin rajalla

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan lopullisen tyypin käsittävän tyypin rajan.

Varoitus

Huomautukset

Puuttuva @Override-huomautus

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan metodin, joka korvaa toisen toteutetun metodin, ja "@Override"-huomautus puuttuu.

Ohita

Puuttuva @Deprecated-huomautus

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan vanhentuneen tyypin ilman "@Deprecated"-lisähuomautusta.

Ohita

Huomautusta käytetään super-rajapintana

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan tyypin, joka toteuttaa huomautuksen. Tätä ei pidetä hyvänä käytäntönä, vaikka tämä on mahdollista.

Varoitus

@SuppressWarnings-huomautuksessa on käsittelemättömiä varoitussanakkeita

Kun tämä asetus on käytössä, kääntäjä tuottaa virhe- tai varoitusilmoituksen havaitessaan käsittelemättömän varoitussanakkeen "@SuppressWarnings"-huomautuksessa.

Varoitus

Ota käyttöön @SuppressWarnings-huomautukset

Kun tämä asetus on käytössä, kääntäjä käsittelee "@SuppressWarnings"-huomautukset.

Käytössä

Aiheeseen liittyviä käsitteitä

Ongelmanäkymä
Pikakorjaus
Java-koontitoiminto