Обработка на изключения в Java

Съдържание
Всички програми са склонни към грешки, това е неизбежно, тъй като колкото и да му даваме, винаги може да се случи нещо, което прекъсва потока на нашето приложение, когато възникне грешка, трябва да намерим най -елегантния начин да уведомим потребителя, без да правим компромис с личните информация за нашата среда.
За тези случаи имаме изключенияТова са обекти, които се изграждат и повдигат при възникване на грешка, която възпрепятства нормалната работа на приложението, това ни дава възможност да се справим с нея и да предотвратим неочакваното завършване на програмата, като по този начин можем да дадем по -елегантно съобщение на потребителското име.
Както посочваме изключения Те са обекти, които се повдигат, когато възникне грешка при изпълнението на нашата програма, ако не ги обработим правилно, тя ще приключи неочаквано, показвайки грешката, за която не е успяла.
Обработка на изключенияЗа да контролираме това, трябва да се справим с изключението, което включва улавяне на обекта и изпълнение на конкретна инструкция, за това имаме структура в Java наречен блок опитайте {} catch (тип изключение) {} с която можем да оценим инструкция и ако възникне изключение, хванете я и изпълнете алтернативен код.
Има и случаи, когато ние сме тези, които трябва доброволно да повдигнат изключението, или като част от отстраняване на грешки в програма, или защото в рамките на нашата логика за развитие искаме да хвърлим изключение, ако възникне някаква комбинация от условия, за това имаме метода хвърлям () който идва от английски да хвърля.
Нека видим по -долу пълната структура, която можем да използваме, за да приложим гореспоменатото на практика:
 опитайте {// тук е кодът, който да опитате да изпълните // тук можем да хвърлим изключение с метода за хвърляне, който иска} catch (typeException ex) {// след като изключението бъде уловено, ето кода, който ще продължи да се изпълнява } 

Тъй като виждаме, че структурата не предполага нищо, което не можем да разберем, нека разгледаме по-задълбочен пример.
Сега ще направим програма, която прави разделянето на две цели числа, както трябва да знаем, ако разделим цяло число на нула 0, ще възникне грешка, в този случай изключение от аритметичния тип, което ще хванем и предотвратяване на неуспеха на програмата ни. Нека да видим кода за използване:
 внос java.util.Scanner; публичен клас DivisionException {публичен статичен int коефициент (int номер1, int номер2) {if (номер2 == 0) хвърля нов ArithmeticException ("Делителят не може да бъде 0"); връщане номер1 / номер2; } публично статично void main (String [] args) {Вход за скенер = нов скенер (System.in); System.out.println ("Моля, въведете две цели числа:"); int номер1 = input.nextInt (); int номер2 = input.nextInt (); опитайте {int result = коефициент (номер1, номер2); System.out.println (номер1 + "/" + номер2 + "е" + резултат); } catch (ArithmeticException ex) {System.out.println ("Изключение: цяло число" + "не може да бъде разделено на 0"); } System.out.println ("Ето нашата програма"); }} 

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

Увеличете

С това приключваме нашия урок, като ефективно демонстрирахме как можем да се справим с изключенията по основен начин, като по този начин избягваме фатална грешка, унищожаваща потока на нашата програма.Хареса ли ви и помогнахте на този урок?Можете да възнаградите автора, като натиснете този бутон, за да му дадете положителна точка
wave wave wave wave wave