Nyckelskillnad - Kontrollerad mot okontrollerad undantag i Java
Ett undantag är ett runtime-fel. Det finns två typer av undantag som kallas kryssade och okontrollerade undantag. När ett markerat undantag inträffar är Java-applikationen ansluten till en extern resurs som en fil, enhet eller databas. Dessa undantag kontrolleras av kompilatorn. Några exempel på kontrollerade undantag är IO-undantag och FileNotFound-undantag. När ett okontrollerat undantag inträffar är applikationen inte ansluten till någon extern resurs. Dessa undantag kontrolleras inte av kompilatorn. Några exempel på okontrollerade undantag är Arithmetic Exception och ArrayOutOfBound Exception. Den här artikeln diskuterar skillnaden mellan kontrollerat och okontrollerat undantag i Java. Huvudskillnaden mellan markerat och okontrollerat undantag i Java är att ett markerat undantag kontrolleras av kompilatorn medan ett okontrollerat undantag inte kontrolleras av kompilatorn.
INNEHÅLL
1. Översikt och nyckelskillnad
2. Vad är kontrollerat undantag i Java
3. Vad är okontrollerat undantag i Java
4. Likheter mellan kontrollerat och okontrollerat undantag i Java
5. Jämförelse sida vid sida - Kontrollerat jämfört med okontrollerat undantag i Java i tabellform
6. Sammanfattning
Vad är kontrollerat undantag i Java?
När ett markerat undantag inträffar är Java-programmet anslutet till en extern resurs. Den här resursen kan vara en enhet som skrivare. Det kan vara en fil eller en databas. Därför kontrolleras dessa undantag av kompilatorn. IO-undantag är ett markerat undantag. Det inträffar på grund av ett fel i enheten. När programmet öppnar en fil som inte existerar kommer det att orsaka ett FileNotFound-undantag. En applikation kan anslutas till en databas som MySQL, Oracle etc. för att lagra data. Om ett fel inträffade relaterat till en databas skulle det vara ett SQL-undantag. Det här är några exempel på kontrollerade undantag. I alla dessa är applikationen ansluten till en yttre resurs. I kontrollerade undantag är det obligatoriskt att hantera undantaget. Om det inte hanteras avslutas rätt flöde av programmet,och klassfilen genereras inte. Felet kan hanteras med hjälp av try, catch block.
Figur 01: Kontrollerad undantagshantering
Enligt ovanstående läste FileReader data från filen. Text1.txt-filen finns inte på den angivna platsen. Koden som kan ge undantaget placeras i försöksblocket. Meddelandet som ska skrivas ut är inne i fångsten. Eftersom det inte finns någon fil som heter text1.txt, orsakar detta en FileNotFoundException. Genom att använda undantagshantering skrivs meddelandet ut på skärmen.
Vad är okontrollerade undantag i Java?
Okontrollerade undantag kontrolleras inte av kompilatorn. Till skillnad från markerade undantag, med okontrollerade undantag, är Java-applikationen inte ansluten till en yttre resurs som fil, databas eller en enhet. Några vanliga unchecked undantag är Arithmetic, ArrayOutOfBound och NullPointer Exceptions.
int a = 10, b = 0;
int div = a / b;
System.out.println (div);
Detta kommer att orsaka ett aritmetiskt undantag på grund av att dyka 'a' med noll. Se koden nedan.
Figur 02: Aritmetisk undantagshantering
Enligt ovanstående program är variabel a ett heltal. Variabel b är 0. Delningen av dessa två siffror är en delning med noll. Därför kommer det att orsaka ett aritmetiskt undantag. Det kan hanteras med hjälp av try-catch block. Uttalandena som kan orsaka undantaget placeras i försöksblocket. Meddelandet som ska visas finns i fångstblocket.
Se koden nedan.
int array1 = {1,2,3,4,5};
System.out.println (array1 [5]);
Detta kommer att orsaka ett undantag. Array1 är en array med 5 element. Matrisens startindex är noll. Att skriva ut det femte indexvärdet orsakar ett undantag eftersom det är utanför gränserna. Maximalt index för array1 är 4.
Figur 03: ArrayOutOfBound Undantagshantering
Enligt ovanstående program har array1 fem element. Att skriva ut elementet med index 6 kommer att orsaka ett undantag eftersom det är utanför gränserna. Det maximala index som kan lagras i array1 är 5. Felmeddelandet skrivs ut genom att utföra fångstblocket.
Vad är likheten mellan kontrollerat och okontrollerat undantag i Java
Både kryssad och okontrollerad undantag i Java är undantagstyper i Java
Vad är skillnaden mellan kontrollerad och okontrollerad undantag i Java?
Skilja artikeln mitt före bordet
Kontrollerat mot okontrollerat undantag i Java |
|
Ett markerat undantag är ett körtidsfel som kontrolleras av kompilatorn. | Ett okontrollerat undantag är ett runtime-fel som inte kontrolleras av kompilatorn. |
Förekomst | |
När ett markerat undantag inträffar är Java-applikationen ansluten till en yttre resurs som fil, enhet eller en databas. | När ett okontrollerat undantag inträffar är Java-programmet inte anslutet till en yttre resurs. |
Exempel | |
IOException, FileNotFoundException, SQLException är några exempel på kontrollerade undantag. | Det aritmetiska undantaget ArrayOutOfBoundException, NullPointerException är några exempel på okontrollerade undantag. |
Sammanfattning - Kontrollerat mot okontrollerat undantag i Java
Ett undantag är en händelse som avbryter genomförandet av programflödet. Det finns två typer av undantag. De kallas markerade undantag och okontrollerade undantag. Denna artikel diskuterade skillnaden mellan ett kontrollerat undantag och okontrollerade undantag. Skillnaden mellan markerat och okontrollerat undantag i Java är att ett markerat undantag kontrolleras av kompilatorn medan ett okontrollerat undantag inte kontrolleras av kompilatorn. Eftersom undantag påverkar det korrekta flödet av programkörning är det en bra programmeringspraxis att hantera dem.