OCA Java imtahan mövzuları

About Exception

Understanding Exception Types

Exception – proqramın axışını dəyişən hadisədir (event). Exception bir növü bir mexanizmdir, hansı ki onun köməkliyi ilə siz proqramda hər hansı bir gözlənilməz hal, xəta yarananda, baş vermiş xətanın məzmununa uyğun proqramın istiqamətinə istədiyiniz şəkildə yön verə bilərsiniz.

Bütün exceptionlar Throwable classından törənir*:

categories-of-exception

error – proqramda nələrinsə “dəhşətli” dərəcədə səhv getdiyini və proqramın onu bərpa etmək gücündə olmadığı anlamına gəlir. Misal üçün disk sürücüsünün “itməsini” göstərmək olar.

runtime exceptionRuntimeException və ondan törəyən subclasslar vasitəsilə tanımlanan exceptionlar hesab edilirlər. Runtime exceptionlar da gözlənilməyən istisnalar hesab edilir, amma errorlar kimi qorxulu deyil. Bu exceptionlar həm də unchecked exceptions adlanır.

chechked exceptionException və ondan törəyən bütün subclasslar (RuntimeException classı istisna olmaqla) bu exceptiona daxildir. Checked exceptionlar əvvəlcədən görülə bilən exceptionlar hesab edilir. Məsələn, olmayan bir faylı oxumağa cəhd etmək.

Bəs nə üçün bu exceptionlar “chechked” adlanır? Çünki java bu exceptionların “handle” və ya “declare” olunmasını tələb edir. “handle” və “declare” ifadələrini biz tez-tez istifadə edəcəyik, ona görə də qısaca izah verək ki, “handle” – try-catch mexanizmi vasitəsilə xətanın yaxalanması, tutulması anlamına gəlir. “Declare” isə exceptionun metodda yenidən elan edilməsidir, yəni bu o anlama gəlir ki, bu metod elan etdiyi exceptionu öz üzərindən atır. Artıq bu metodu istifadə edən digər metodlar həmin exceptionu handle etməlidir, və yaxud onlar da yenidən həmin exceptionu declare edə bilər.

void test1(){
    throw new Exception();    // DOES NOT COMPILE
}

void test2() throws Exception{
    throw new Exception();
}

void test3(){
    throw new RuntimeException();
}

throw açar sözünü biz yeni exception fırlatmaq üçün istifadə edirik. throws açar sözü ilə isə elan edirik ki, bu metod exceptionu öz üzərindən onu çağıran metodun üzərinə atır. Yuxarıdakı nümunə ilə bağlı qısa olaraq qeyd etmək olar ki, chechked exception`lar əvvəlcədən göründüyünə görə Java proqramçını məcbur edir ki, onunla bağlı bir tədbir görsün, ya handle etsin, ya da declare. Amma unchecked exception`lar əvvəlcədən təyin edilə bilmir, məsələn, NullPointerException null referans üzərindən hər hansı bir üzvü (member) çağırmağa cəhd edən zaman yaranır və bu da istənilən metodda baş verə bilər. Biz əgər buna görə hər yerdə bu exceptionu declare etməli olsaq, kodda qarmaqarışıqlıq yaranacaq. Bu səbəbdən Java runtime exception`ları handle və ya declare etməyi tələb etmir.

 

 

Throwing an Exception

Biz yeni exception fırladarkən mesaj olaraq String parametr də göndərə bilərik və yaxud da default olaraq parametrsiz:

throw new Exception();

throw new Exception("Hi! I am Exception");

throw new RuntimeException();

throw new RuntimeException("Hi! I am RuntimeException");

Aşağıdakı qaydaları bilmək vacibdir**:

types-of-exception

 

[topics lang=az]

 

*,** “OCA: Oracle Certified Associate Java SE 8 Programmer I Study Guide: Exam 1Z0-808”, by J.Boyarsky & S.Selikoff

 

About the author

Mushfiq Mammadov

Leave a Comment


The reCAPTCHA verification period has expired. Please reload the page.

 

This site uses Akismet to reduce spam. Learn how your comment data is processed.