Sleutelverskil – gemerkte vs ongemerkte uitsondering in Java
'n Uitsondering is 'n looptydfout. Daar is twee tipes uitsonderings bekend as gemerkte en ongemerkte uitsonderings. Wanneer 'n gekontroleerde uitsondering voorkom, is die Java-toepassing gekoppel aan 'n eksterne hulpbron soos 'n lêer, toestel of databasis. Hierdie uitsonderings word deur die samesteller nagegaan. Enkele voorbeelde van gekontroleerde uitsonderings is IO-uitsondering en FileNotFound-uitsondering. Wanneer 'n ongemerkte uitsondering voorkom, is die toepassing nie aan enige eksterne hulpbron gekoppel nie. Hierdie uitsonderings word nie deur die samesteller nagegaan nie. Enkele voorbeelde van ongemerkte uitsonderings is Rekenkundige Uitsondering en ArrayOutOfBound Uitsondering. Hierdie artikel bespreek die verskil tussen gemerkte en ongemerkte uitsondering in Java. Die belangrikste verskil tussen gemerkte en ongemerkte uitsondering in Java is dat 'n gemerkte uitsondering deur die samesteller nagegaan word terwyl 'n ongemerkte uitsondering nie deur die samesteller nagegaan word nie.
Wat is gekontroleerde uitsondering in Java?
Wanneer 'n gemerkte uitsondering voorkom, is die Java-toepassing aan 'n eksterne hulpbron gekoppel. Hierdie hulpbron kan 'n toestel soos drukker wees. Dit kan 'n lêer of 'n databasis wees. Daarom word daardie uitsonderings deur die samesteller nagegaan. IO-uitsondering is 'n gekontroleerde uitsondering. Dit vind plaas as gevolg van 'n fout in die toestel. Wanneer die toepassing toegang verkry tot 'n lêer wat nie bestaan nie, sal dit 'n FileNotFound-uitsondering veroorsaak. 'n Toepassing kan aan 'n databasis soos MySQL, Oracle ens. gekoppel word om data te stoor. As 'n fout met 'n databasis voorgekom het, sal dit 'n SQL-uitsondering wees. Dit is 'n paar voorbeelde van gekontroleerde uitsonderings. In al hierdie is die toepassing gekoppel aan 'n eksterne hulpbron. In gemerkte uitsonderings is dit verpligtend om die uitsondering te hanteer. As dit nie hanteer word nie, sal die korrekte vloei van die program beëindig word, en die klaslêer sal nie gegenereer word nie. Die fout kan hanteer word met die probeer, vang blok.
Figuur 01: Gekontroleerde uitsonderingshantering
Volgens bogenoemde het die FileReader data van die lêer gelees. Die text1.txt-lêer bestaan nie in die gespesifiseerde ligging nie. Die kode wat die uitsondering kan gee, word binne die probeerblok geplaas. Die boodskap om te druk is binne die vangblok. Aangesien daar geen lêer genaamd text1.txt is nie, veroorsaak dit 'n FileNotFoundException. Deur uitsonderingshantering te gebruik, word die boodskap op die skerm gedruk.
Wat is ongemerkte uitsonderings in Java?
Ongemerkte uitsonderings word nie deur die samesteller nagegaan nie. Anders as in gemerkte uitsonderings, met ongemerkte uitsonderings, is die Java-toepassing nie gekoppel aan 'n eksterne hulpbron soos lêer, databasis of 'n toestel nie. Sommige algemene ongemerkte uitsonderings is Arithmetic, ArrayOutOfBound en NullPointer-uitsonderings.
int a=10, b=0;
int div=a/b;
System.out.println(div);
Dit sal 'n rekenkundige uitsondering veroorsaak omdat 'a' met nul geduik word. Verwys na die onderstaande kode.
Figuur 02: Rekenkundige uitsonderingshantering
Volgens bogenoemde program is veranderlike a 'n heelgetalwaarde. Veranderlike b is 0. Die deling van hierdie twee getalle is 'n deling deur nul. Daarom sal dit 'n rekenkundige uitsondering veroorsaak. Dit kan hanteer word met 'n probeervangblok. Die stellings wat die uitsondering kan veroorsaak, word binne die probeerblok geplaas. Die boodskap wat vertoon moet word, is in die opvangblok.
Verwys die onderstaande gedeelte van die kode.
int skikking1={1, 2, 3, 4, 5};
System.out.println(array1[5]);
Dit sal 'n uitsondering veroorsaak. Die skikking1 is 'n skikking met 5 elemente. Die beginindeks van die skikking is nul. Die druk van die 5th indekswaarde veroorsaak 'n uitsondering omdat dit buite gebonde is. Die maksimum indeks van die skikking1 is 4.
Figuur 03: ArrayOutOfBound-uitsonderingshantering
Volgens bogenoemde program het die skikking1 5 elemente. Die druk van die element met indeks 6 sal 'n uitsondering veroorsaak omdat dit buite gebonde is. Die maksimum indeks wat in skikking1 gestoor kan word, is 5. Die foutboodskap word afgedruk deur die vangblok uit te voer.
Wat is die ooreenkoms tussen gemerkte en ongemerkte uitsondering in Java
Beide gemerkte en ongemerkte uitsondering in Java is uitsonderingstipes in Java
Wat is die verskil tussen gemerkte en ongemerkte uitsondering in Java?
Gemerk vs ongemerkte uitsondering in Java |
|
'n Gemerkte uitsondering is 'n looptydfout wat deur die samesteller nagegaan word. | 'n Ongemerkte uitsondering is 'n looptydfout wat nie deur die samesteller nagegaan word nie. |
Voorkoms | |
Wanneer 'n gekontroleerde uitsondering voorkom, word die Java-toepassing aan 'n eksterne hulpbron soos lêer, toestel of 'n databasis gekoppel. | Wanneer 'n ongemerkte uitsondering voorkom, is die Java-toepassing nie aan 'n eksterne hulpbron gekoppel nie. |
Voorbeelde | |
IOException, FileNotFoundException, SQLException is 'n paar voorbeelde van gemerkte uitsonderings. | Die rekenkundige uitsondering, ArrayOutOfBoundException, NullPointerException is 'n paar voorbeelde van ongemerkte uitsonderings. |
Opsomming – Gemerkte vs ongemerkte uitsondering in Java
'n Uitsondering is 'n gebeurtenis wat die uitvoering van die programvloei onderbreek. Daar is twee tipes uitsonderings. Hulle word gekontroleerde uitsonderings en ongemerkte uitsonderings genoem. Hierdie artikel het die verskil tussen 'n gemerkte uitsondering en ongemerkte uitsonderings bespreek. Die verskil tussen gekontroleerde en ongemerkte uitsondering in Java is dat 'n gemerkte uitsondering deur die samesteller nagegaan word terwyl 'n ongemerkte uitsondering nie deur die samesteller nagegaan word nie. Aangesien uitsonderings die korrekte vloei van programuitvoering beïnvloed, is dit 'n goeie programmeringspraktyk om dit te hanteer.