10.07.2015 Views

Excepcions a Java

Excepcions a Java

Excepcions a Java

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

}throw new conjuntException("Conjunt.tria(): conjunt buit!");elsereturn(this.elements[this.nelem-1]);// Retornem p.ex. l’ultim4.2 Temptativa i CapturaPer poder “respondre” a l’excepció, el que es fa és posar dins d’un bloc detemptativa el codi que pot generar l’excepció de manera que, si es produeix,el flux d’execució anirà automàticament al final d’aquest bloc, concretament alque gestioni el tipus d’excepció produïda (o una superclasse d’aquesta). El blocde temptativa anirà a dins de try{. . . }, i els capturadors d’excepció tot seguit,especificant quin tipus d’excepció tracten i com la tracten catch(tipus excepciovar){. . . }.Seguint amb l’exemple del conjunt d’enters, podem veure com tractar lautilització del mètode tria():try {int k;ConjuntEnters c;c = new ConjuntEnters();k = c.tria();}catch(ConjuntException e){System.out.println("Error de programacio. " + e);System.out.println("Sequencia de crides: ");e.printStackTrace();}catch(Exception e){System.out.println(e);}System.out.println("L’execucio segueix normalment...");Fixem-nos que l’objecte que conté l’excepció, e, es pot utilitzar com a String,i és l’String que s’ha fet servir en llançar l’excepció (com a paràmetre del constructor).Això és perquè el mètode println automàticament invoca el mètodetoString de l’objecte.Com podem veure, podem tractar diferents tipus d’excepció. A més, <strong>Java</strong>també ens dóna l’oportunitat de definir un bloc al final dels catch que s’executaràsempre, hi hagi hagut o no excepcions. Aquest bloc és el finally{. . . }. Es posaràdesprés de l’últim catch, o just després del bloc try si hi hagués cap catch. Aquestbloc pot ser útil per intentar recuperar l’error. Cal tenir en compte que desprésl’execució continua de manera natural, amb el codi que hi ha a continuació.4

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!