Një përjashtim është një problem që ngrihet gjatë ekzekutimit të një programi. Kur ndodh një përjashtim, rrjedha normale e ekzekutimit ndërpritet dhe programi përfundon në mënyrë jo normale, gjë e cila nuk rekomandohet. Për këtë arsye, përjashtimet duhen mbajtur.
Një përjashtim mund të ndodhë për disa arsye.
Një skenar kur ndodh përjashtimi është dhe skenari mëposhtë:
Disa nga këto përjashtime shkaktohen nga gabime të përdoruesit, dhe disa tjera nga gabime të programuesit, të tjera nga probleme të resurseve fizike. Duke u nisur nga kjo, përjashtimet i ndajmë në tre kategori : përjashtime të kontrolluara, përjashtime të pakontrolluara si dhe gabime.
Përjashtimet e kontrolluara
Një përjashtim i kontrolluar është një përjashtim që ndodh gjatë kohës së kompilimit. Këto përjashtime nuk duhen injoruar gjatë kohës së kompilimit. Programatori duhet të shtojë kod që mbajnë këto përjashtime.
Për shembull, në qoftë se përdorni klasën FileReader e cila lexon të dhënat e një skedari, në qoftë se skedari i përcaktuar në konstruktor nuk gjendet, atëherë kompilatori do njoftojë programuesin që ky rast duhet të përfshihet në përjashtim.
import java.io.File; import java.io.FileReader; public class FilenotFound_Demo { public static void main(String args[]) { File file = new File("E://file.txt"); FileReader fr = new FileReader(file); } }
Në qoftë se provoni të kompiloni këtë program, do merrni këtë mesazh nga kompilatori :
C:\>javac FilenotFound_Demo.java FilenotFound_Demo.java:8: error: unreported exception FileNotFoundException; must be caught or declared to be thrown FileReader fr = new FileReader(file); ^ 1 error
Vini re: metodat read() dhe close() të FileReader, lëshojnë IOException, prandaj mund të vihet re thjeshtë pse kompilatori na njofton të trajtojmë IOException si FileNotFoundException.
Përjashtimet e pakontrolluara
Një përjashtim i pakontrolluar është një përjashtim që ndodh gjatë kohës së ekzekutimit. Këtu përfshihen probleme logjike ose përdorim jo i saktë i librarive të API. Këto përjashtime nuk gjenden gjatë kompilimit. Për shembull në qoftë se një tabelë është deklaruar më 5 elemente, thirrja e elementit të gjashtë do shkaktojë një përjashtim ArrayInxedOutOfBoundException.
public class Unchecked_Demo { public static void main(String args[]) { int num[] = {1, 2, 3, 4}; System.out.println(num[5]); } }
Kompilimi bëhet me sukses, por gjatë ekzekutimit do merret mesazhi :
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 5 at Exceptions.Unchecked_Demo.main(Unchecked_Demo.java:8)
Vitet e fundit kanë nisur programe të reja studimi, Bachelor dhe Master, me fokus Inteligjencë…
Dega e studimit Informatike është aktualisht mjaft e kërkuar nga maturantët dhe nga tregu i…
Një nga programet e studimit më të kërkuara aktualisht janë Shkenca Kompjuterike. Po cili është…
Këtë vit kam nisë të mbaj shënime dhe të organizoj projektet freelance me një aplikacion…
Komponent kryesor i një aplikacioni në Java është lidhja dhe ndërveprimi me një bazë të…
Në këtë blog po përmbledh gjuhët e programimit më të preferuara, të cilat kryesojnë listën…