Årsak til Java Unntak

Java er som alle andre programmeringsspråk i at det er strenge regler for hvordan data håndteres og logikk er fulgt. Hvis programmet avviker fra reglene eller den mottar en type data som ikke er forventet, oppstår det en feil. I Java feilen kalles et unntak. Det finnes tre typer unntak i Java: sjekket, feil og runtime.

sjekket Unntak

Den kontrolleres unntak oppstår på grunn av en programmeringsfeil. Dette blir vanligvis sett ved bruk av feil type data føres til en Java API metode. En programmerer bør forutse disse typer feil og se etter riktige data og grasiøst håndtere feilen. For eksempel, hvis et program må beregne brutto lønn ved å multiplisere arbeidstimer ved betale prisen og betale rente er definert som et tegnfelt, maskinen vil ikke vite hvordan du skal utføre multiplikasjon siden en karakter variabel ikke er tillatt i denne operasjonen. I Java vil dette generere en kontrollert unntak.

feil Unntak

Feil unntak er generert av omstendigheter utenfor Java-program. Hvis programmet var å skrive en rapport, men ingen skriver var festet, vil dette generere en feil unntak. Feil Unntakene er i motsetning sjekket og runtime unntak; feil unntak kan ikke bli fanget. En feil unntak vil alltid generere en stabel spor (se nedenfor).

Runtime Exception

Den siste klassen av unntakene er runtime unntak. Dette er et unntak som genereres inne i Java-programmet, men er ikke forventet. Et godt eksempel på en runtime unntaket vil være å prøve å få tilgang til en rekke element som er utenfor det definerte omfanget av tabellen.

stack Trace

Hvis et unntak genereres og ikke "fanget", da Java Virtual Machine (JVM) vil generere en stabel spor. Sporet er svært nyttig for en programmerer; det viser hvilke skritt programmet hadde tatt før unntaket var forårsaket. Mange ganger stakksporingen vil liste den nøyaktige linje med kode som forårsaket unntaket. Herfra en programmerer kan se på koden for å finne ut hva som var galt. Mens stack spor er svært nyttig for programmerere å bruke for debugging, bør en velskrevet Java-programmet aldri tillate brukeren å se en stabel spor. Hvis en stabel spor ble vist fra en web-basert Java-program, kan det gi hackere et veikart for hvordan å hacke nettstedet.

Prøv ... Catch Block

Java anser visse operasjoner som å åpne og lese filer for å være farlig kode. Denne faren koden trenger spesiell behandling av Java. Farekode må være omsluttet av en prøve ... catch-blokken. Fangsten delen lar programmereren å håndtere unntak grasiøst. Dersom unntak ikke blir håndtert av programmerer, vil Java vise en stabel spor. En prøve ... catch-blokken ser slik ut:

prøve
{
// Åpne filen til å skrive til
Utgang = new Printwriter (new Filewriter ( "output.dat"))

} Catch (IOException e) {
System.out.println ( "Kan ikke åpne output file")

Nå hvis den åpne svikter, "Kan ikke åpne output file" vises meldingen, ikke en stabel spor.