Три вида изключения в Java

Грешките са в основата на потребителите и на програмистите. Разработчиците очевидно не искат програмите им да се прехвърлят на всеки завой и потребителите вече са свикнали да имат грешки програми, които те с обида приемат да плащат цената за софтуер, който почти сигурно ще има поне една грешка в то. Ява е създаден, за да даде на програмиста спортен шанс при проектирането на приложение без грешки. Има изключения, които програмистът ще знае, че е възможно, когато приложение взаимодейства с ресурс или потребител и тези изключения могат да бъдат обработвани. За съжаление има изключения, които програмистът не може да контролира или просто пренебрегва. Накратко, всички изключения не се създават равни и следователно има няколко типа, за които един програмист да мисли.

Изключение е събитие, което води до невъзможност на програмата да тече в предвиденото му изпълнение. Има три типа изключения - провереното изключение, грешката и изключението по време на изпълнение.

Провереното изключение

Проверените изключения са изключения, с които Java приложение трябва да може да се справи. Например, ако приложението чете данни от файл, то трябва да може да се справи с

instagram viewer
FileNotFoundException. В крайна сметка няма гаранция, че очакваният файл ще бъде там, където трябва да бъде. Всичко може да се случи във файловата система, за което приложението няма представа.

За да вземем този пример още една стъпка. Да речем, че използваме FileReader клас за четене на символен файл. Ако имате поглед върху Определение на FileReader в конструктора на Java ще видите, че е подпис на метод:

обществен FileReader (String fileName) изхвърля FileNotFoundException.

Както можете да видите, конструкторът конкретно заявява, че FileReader конструктор може да хвърли a FileNotFoundException. Това има смисъл, тъй като е много вероятно това име на файл Поредицата ще греши от време на време. Вижте следния код:

public static void main (String [] args) { FileReader fileInput = null; // Отваряне на входния файл. fileInput = нов FileReader ("Untitled.txt"); }

Синтактично изявленията са правилни, но този код никога няма да се компилира. Компилаторът знае FileReader конструктор може да хвърли a FileNotFoundException и зависи от обаждащия се код за справяне с това изключение. Има два варианта - първо можем да предадем изключението от нашия метод, като посочим a хвърля клауза също:

public static void main (String [] args) хвърля FileNotFoundException { FileReader fileInput = null; // Отваряне на входния файл. fileInput = нов FileReader ("Untitled.txt"); }

Или всъщност можем да се справим с изключението:

public static void main (String [] args) { FileReader fileInput = null; опитвам. { // Отваряне на входния файл. fileInput = нов FileReader ("Untitled.txt"); } улов (FileNotFoundException ex) { // кажете на потребителя да отиде и да намери файла. } }

Добре написаните Java приложения трябва да могат да се справят с проверените изключения.

грешки

Вторият вид изключение е известен като грешката. Когато възникне изключение JVM ще създаде обект на изключение. Всички тези обекти произлизат от Може да се изхвърли клас. Най- Може да се изхвърли клас има два основни подкласа - грешка и изключение. Най- грешка клас обозначава изключение, с което приложение вероятно няма да може да се справи.

Тези изключения се считат за редки. Например, JVM може да изтече ресурси поради това, че хардуерът не може да се справи с всички процеси, с които се справя. Възможно е приложението да улови грешката, за да уведоми потребителя, но обикновено приложението ще трябва да се затвори, докато не се реши основният проблем.

Изключения по време на изпълнение

А изключение по време на изпълнение възниква просто защото програмистът е направил грешка. Написали сте кода, всичко изглежда добре на компилатора и когато отидете да стартирате кода, той пада, защото го опита да получи достъп до елемент от масив, който не съществува или логическа грешка предизвика метод да бъде извикан с нула стойност. Или произволен брой грешки, които може да направи един програмист. Но това е добре, забелязваме тези изключения чрез изчерпателно тестване, нали?

Грешки и Изключения по време на изпълнение попадат в категорията на непроверени изключения.

instagram story viewer