Turinys
Visos programos yra linkusios į klaidas, tai yra neišvengiama, nes nesvarbu, kiek mes jai duodame, visada gali nutikti kažkas, kas nutraukia mūsų programos srautą, kai įvyksta klaida, turime rasti elegantiškiausią būdą, kaip pranešti vartotojui, nepakenkiant privačiam informaciją apie mūsų aplinką.Šiais atvejais mes turime išimčiųTai objektai, kurie yra sukurti ir iškelti, kai įvyksta klaida, trukdanti normaliai veikti programai, tai suteikia mums galimybę su ja susidoroti ir neleisti programai netikėtai pasibaigti, taip suteikiant elegantiškesnį pranešimą vartotojo vardui.
Kaip nurodome ,. išimčių Tai objektai, kurie iškyla, kai įvyksta klaida vykdant mūsų programą, jei netinkamai su jais elgsimės, tai netikėtai baigsis, rodydama klaidą, kurios nepavyko.
Išimties tvarkymasNorėdami tai kontroliuoti, turime tvarkyti išimtį, kuri apima objekto užfiksavimą ir konkrečios instrukcijos vykdymą, nes mes turime struktūrą „Java“ vadinamas bloku pabandykite {} sugauti (išimties tipas) {} kuriuo galime įvertinti instrukciją ir, jei įvyksta išimtis, sugaukite ją ir vykdykite alternatyvų kodą.
Taip pat pasitaiko atvejų, kai mes privalome savanoriškai iškelti išimtį, kaip programos derinimo dalį, arba dėl to, kad pagal savo kūrimo logiką norime padaryti išimtį, jei atsiranda tam tikras sąlygų derinys, tam turime metodą. mesti () kuris ateina iš anglų mesti.
Toliau pažiūrėkime visą struktūrą, kurią galime panaudoti, kad pirmiau minėtą praktiką įgyvendintume:
pabandykite {// čia yra kodas, kurį reikia bandyti įvykdyti // čia mes galime išmesti išimtį norėdami išmesti metimą} sugauti (typeException ex) {// kai išimtis bus užfiksuota, čia yra kodas, kuris ir toliau bus vykdomas }
Kadangi matome, kad struktūra nereiškia nieko, ko negalime suprasti, pažvelkime į išsamesnį pavyzdį.
Dabar mes ketiname sukurti programą, kuri padalija du sveikus skaičius, kaip turėtume žinoti, jei padaliję sveikąjį skaičių iš nulio 0, įvyks klaida, šiuo atveju - aritmetinio tipo išimtis, kurią ketiname sugauti ir neleisti mūsų programai baisiai žlugti. Pažiūrėkime, kokį kodą naudoti:
importuoti java.util.Scanner; public class DivisionException {public static int koeficientas (int skaičius1, int skaičius2) {if (skaičius2 == 0) mesti naują ArithmeticException ("Skirstytojas negali būti 0"); grąžinimo numeris1 / skaičius2; } public static void main (String [] args) {Skaitytuvo įvestis = naujas skaitytuvas (System.in); System.out.println ("Įveskite du sveikus skaičius:"); int numeris1 = input.nextInt (); int numeris2 = input.nextInt (); pabandykite {int rezultatas = koeficientas (skaičius1, skaičius2); System.out.println (skaičius1 + "/" + skaičius2 + "yra" + rezultatas); } catch (ArithmeticException ex) {System.out.println ("Išimtis: sveiko skaičiaus" + "negalima padalinti iš 0"); } System.out.println ("Čia yra mūsų programa"); }}
Pastebime, kad išimtis išmetama naudojant metodą mesti pasirinktinio metodo viduje, kuris padalija sveikuosius skaičius, tada šį metodą mes vadiname savo viduje pabandyk blokuoti ir galiausiai, jei išimtis įvyksta, mes ją pagauname ir parodome reikiamą klaidą, tada galime tęsti savo programą. Pažiūrėkime, kaip tai atrodo mūsų konsolėje:
DIDELIS
Tuo baigiame savo mokymo programą, kuri veiksmingai pademonstravo, kaip galime iš esmės tvarkyti išimtis, taip išvengdami lemtingos klaidos, griaunančios mūsų programos srautą.Ar jums patiko ir padėjo ši pamoka?Galite apdovanoti autorių paspausdami šį mygtuką, kad suteiktumėte jam teigiamą tašką