Det kan være alt lige fra null pointer exceptions, eller andre runtime exceptions, til database exceptions, mail exceptions eller dine egne selvdefinerede exceptions..
i java når noget går galt (eg: et forsøg på at dividere med 0) bliver der 'kastet' en exception. det virker lidt ligesom en break; sætning. programudførelsen stoppper og programmet returnerer uda af ifsætning, af loops, af subroutiner, indtil det møder en catch sætning der er beregnet på af 'gribe' den exception der blev 'kastet'
try sætningen er en måde at sige "Nu vil jeg prøve noget der måske går galt; i forbindelse med try vil der altid være en catch til at fange den exception der måske kommer:
try { denne kode vil måske kaste en exception } catch( Exception e ) { denne kode skal rette op på tingene hvis en exception af typen "Exception" bliver kastet. }
der kan evt være flere catch-led efter hinanden der hver fange sin slags Exception (en til division med 0, en til index out of bounds, etc)
din linie URL urlen = new URL( url ); kan gå galt hvis du ikke giver constructoren en lovlig internet url så vil der i den construdtor blive kastet ne exception af typen MalformedURLException og programmet returnerer tilbage til try-blokken, så til enden af try-blokken og der bliver den exception så fanget. enhver exceptiontype er faktisk en klasse og sen exception der kaster er så en instans af den klasse. Idet catch fanger den giver den den et navn (her 'evt') i det objekt likker der en metode printStackTrace der udskriver stakken som den så ud da den exception blev kastet.
Så alt hvad denne catch gør er altså at fortælle hvorhenne det gik galt.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.