Hva du trenger å vite om Unntak i Java

October 21  by Eliza

Et unntak er et objekt som opprettes når det oppstår en feil i et Java-program, og Java kan ikke automatisk fikse feilen. Unntaket objektet inneholder informasjon om hvilken type feil som har oppstått.

Den viktigste informasjonen - årsaken til feilen - indikeres ved navn unntak klassen brukes til å lage unntak. Du vanligvis ikke trenger å gjøre noe med et unntak objekt annet enn finne ut hvilken du har.

Et annet unntak klassen representerer hver type unntak som kan forekomme. Her er noen typiske unntak:

  • IllegalArgumentException: Du passerte et feil argument til en metode.
  • InputMismatchException: Konsollen inngang stemmer ikke overens med datatype som forventes av en metode for skannerklassen.
  • ArithmeticException: Du prøvde en ulovlig type aritmetisk operasjon, slik som å dele et heltall med 0 (null).
  • IOException: En metode som utfører I / O (som å lese eller skrive en fil) oppstått en uopprettelig I / O-feil.
  • ClassNotFoundException: En nødvendig klasse ble ikke funnet.

Her er de viktigste tingene du trenger å vite om unntak:

  • Når det oppstår en feil og et unntak objektet er opprettet, Java "kaster et unntak." Java har en ganske god kastearmen, så unntaket er alltid kastet rett tilbake til påstanden som forårsaket det skal opprettes.
  • Uttalelsen som forårsaket unntaket kan fange unntak hvis den ønsker det, men det trenger ikke å fange unntak hvis det ikke ønsker det. I stedet, det kan dukke og la noen andre ta unntaket. At "noen andre" er uttalelsen som kalles metoden som er i dag utfører.
  • Hvis alle ender og programmet aldri fanger unntak, avslutter programmet brått og viser en stygg leter unntak melding på konsollen.
  • To hovedtyper av unntak i Java blir sjekket unntak og ukontrollert unntak:

    • En sjekket unntak er et unntak at kompilatoren krever at du oppgir for den ene eller andre måten. Hvis du ikke gjør det, gjør programmet ikke kompilere.
    • En ukontrollert unntak er et unntak som du kan gi til, men du trenger ikke å.