KompüterProqramlaşdırma

Java: istisnalar və onların rəftar

Hər hansı bir proqram mənbə kodu debugged yalnız əgər stabil fəaliyyət göstərəcək və gözlənilməz hallar səbəb ola bilər heç bir şərait yoxdur. mümkün uğursuzluqlar alıcı prosesi proqramlaşdırma səhnədə həyata keçirilir. Bunu etmək üçün, geliştirici bütün gözlənilir nəticələri nəzərə alır və bu proqram əməliyyat müdaxilə və ya onun dağılmasına səbəb ola bilər ki, səhv təsirini məhdudlaşdırmaq üçün çalışır.

Siz istisna rəftar lazımdır zaman

Java, bir istisna, yanlış istifadəçi daxil bir resurs və ya ani şəbəkə ayrılma proqram üçün heç bir ehtiyac səbəb ola bilər. proqram geliştirici yaratdığı rahat istifadə üçün, fövqəladə halların baş verməsi nəzarət etməlidir. istehlakçı bir unhandled istisna olmaqla, və ya bir şey yanlış getdi ifadə edərək görünür bir mesaj yalnız bir hissəsi nəticəsində data itirmək, bir proqram çıxmaq üçün gözləmək yoxdur.

Java istisnalar idarə

Nə hesab? Java dil öz daxili istisna user funksionallıq var. Əlbəttə ki, səhv böyük bir faiz türküylə mərhələ tutulan, sistem avtomatik olaraq artıq mümkün deyil ki, istifadə agah edəcəyik. Amma zamanı baş verir istisna olmaqla, bu cür var. geliştirici onu tahmin və bir səhv səbəb deyil ki, belə kodu dizayn edə və xüsusi bir şəkildə ele və digər filial nəzarət təhvil verməlidir.

Java, bu istisna tutmaq üçün compiler ilə tətbiq edilir, belə ki, tipik problemlər məlumdur və bir standart həyata nümunələri var.

tipik istisnalar

Bu bölmə - bir istisna əldə edə bilərsiniz olan sadə misal. Onun sadəlik baxmayaraq, baxımından bir separatçı kimi, bir səhv səbəb olacaq sıfır ola bilər. Bəli, bu mümkündür əgər keçmişdə ortaya proqnozlaşdırmaq və qarşısını almaq üçün. Amma bu seçim həmişə mövcud deyil, belə ki, istisna alıcı "sıfır ilə uçurum" halında bilavasitə təşkil edilməlidir.

emal səhv almaq üçün Java mexanizm bu kimi görünür:

  • yığın istisna obyekt, eləcə də hər hansı digər kimi, yaradılmışdır;
  • Proqramın təbii kurs müdaxilə;
  • təcrid mexanizmi kodu davam alternativ yol tapmaq üçün çalışır;
  • prosessor, iş proqramının təhlükəsiz icrası tapmaq və ya bərpa, və ya xüsusi bir şəkildə istisna həyata baş verəcək.

bu kimi baxmaq bilər bir səhv yaratmaq sadə misal:

(a == null)

) (Yeni NullPointerException atmaq;

Burada dəyişən bir başlatma ilə yoxlanılır, yəni, deyil null obyekt istinadən olub. bu vəziyyət gələn və xüsusi rəftar lazımdır varsa, istisna bir atış yeni NullPointerException tərəfindən atılan ().

açar sözlər, haqqında bir neçə şirkət

istisnalarla ilə məşğul olan zaman, müəyyən bir fəaliyyət müraciət söz Java istifadə üçün tez-tez lazımdır. Onların beş proqramlaşdırma Bu dil:

  • Cəhd edin. Bu söz ki , artıq görüşüb və bir istisna atmaq olar kodu bir hissəsində bir keçid deməkdir. Block məhdud aşırma {}.
  • Catch. Bu istədiyiniz istisna növü kəsir və müvafiq idarə.
  • Nəhayət. Bu söz istisna tutuldu deyil, hətta, isteğe bağlıdır və hər halda tələb olunur kodu müəyyən parça yerinə yetirmək üçün istifadə olunur. cəhd blok sonra birbaşa Added.
  • Atmaq - hər yerdə Java istisnalar yaratmaq imkan verir.
  • Salır - üsul imza yerləşdirilir bir söz. Bu, aşağıdakı kodu bu cür Java bir istisna atmaq deməkdir. onu gözlənildiyi kimi, telefon işləyə bilməz - Bu mark yadda saxlamaq lazımdır developers bir siqnal kimi xidmət edir.

bir cəhd ilə tutmaq

Java istisna olmaqla Release, təbii ki, bu, xüsusi bir şəkildə ele olacaq ki, nəzərdə tutur. code bölüm blok off hasara əgər ən əlverişli yoldur, bunu. Hansı istisna ola bilər. Bu kodu çalıştırdığınızda, virtual maşın, gözlənilməz vəziyyət tapmaq bir tənqidi blok və transfertlər emal ilə stansiyaya nəzarət ki, başa düşəcəklər.

Java code istisna ola bilər ərzində xüsusi blok cəhd bükülür. Belə ki, o eyni yerdə deyil, raspolzayas kodu tutuldu ki, bir neçə gözlənilməz hallar yerləşdirilmişdir.

aşağıdakı kimi emal vahid ən tipik kodu:

{cəhd

// Burada istisna yaratmaq bilər ki, bəzi kodu

} Catch (Tip_isklyucheniya_1 identifikator_1) {

// Burada istisna user var, onun növü və şərtlərinə görə;

} Catch (Tip_isklyucheniya_2 identifikator_2) {

// Burada istisna user var, onun növü və şərtlərinə görə;

}

Açar söz tutmaq onun növü uyğun ki aşağıda göstərildiyi kimi, müalicə altına kod hesabat və istisna üçün tarar. identifikatoru dəlilləri kimi code blok emal istifadə edilə bilər.

nəhayət

əvvəlki fəsildə aydın oldu ki, tutmaq blokları istisnalar tutmaq və onları emal. Amma çox tez-tez vəziyyət asılı olmayaraq səhvlər tutuldu olub, bəzi kodu run lazımdır yaranır. Bunun üçün nəhayət söz var. Bu faylları və ya şəbəkə əlaqələrinin bağlanması, müxtəlif counters dəyərlər artırmaq üçün istifadə olunur.

Bu süjet bir neçə tutmaq blokları üsulları istisna tutmaq icad təqdim edir. Məsələn, cəhd olan code soyuq kimi gözlənilməz vəziyyət yaradır. Sonra konsol «! Soyuq tutuldu» ifadəsi göstərilir və olunacaq "bir şey haqqında? Sevindirəcək deyilmi». Bu nəhayət blok hər halda icra edir.

Əslində, bir yol nəhayət orada tetiklemesini qarşısını almaq üçün. Bu virtual maşın başa çatması ilə bağlıdır. onu həyata keçirmək üçün necə tap, İnternet açıq fəzalarında mümkündür.

Throw söz

Throw istisna yaradır. Aşağıdakı kimi Onun sintaksis edir:

) (Yeni NewException atmaq;

növü NewException yeni bir istisna var yaradılmışdır (). istifadə edilə bilər bir növüdür artıq standart Java kitabxana dərsləri daxil və əvvəllər öz istehsal geliştirici tərəfindən müəyyən olunur.

Bu dizayn zəng sonra tutulmasın etmək üçün, cəhd blok ərzində baş ki, hər hansı üsulla təsviri, bir hissəsidir.

Açar söz salır

Nə üsul istisna atmaq, lakin düzgün idarə etmək mümkün deyil bilər ki, bir vəziyyət inkişaf prosesində əgər. Bu məqsədlə, üsul imza söz salır və mümkün istisnalar növü müəyyən edir.

Bu etiket üsul onların eyni istisna idarə edə deyil ki, müştəri developers üçün göstərici bir növüdür. səhv növü yoxlanılır əgər Bundan əlavə, sonra compiler aydın məcbur edəcək, bunun üçün xahiş edirik.

ehtiyatları üçün cəhd edin

Java versiyası 7 developers resursları ilə müalicə cəhd blok kimi böyük yenilik, daxil olub.

istifadə resursların qorunması üçün bağlamaq lazımdır sonra bir çox obyektlər, Java yaradılmışdır. Əvvəllər nəzərə almaq və özünüz bu hallarda dayandırmaq idi. İndi isə onlar AutoClosable interfeysi ortaya çıxdı. Avtomatik olaraq bir cəhd blok yerləşdirilib artıq istifadə obyektləri yaxın edir. Bu yanaşma vasitəsilə onun okunabilirlik əhəmiyyətli dərəcədə artır kodu yazmaq üçün daha rahat olmuşdur.

Öz siniflər Java istisnalar

təsvir proqramlaşdırma dili yaradıcıları fövqəladə dizayn növləri hesab çox aspektləri daxil etdi. Lakin, variantları bütün Java öz istisnalar müəyyən etmək imkanı həyata belə hadisələrin nəticəsi işləməyəcək qarşısını almaq üçün, bu xüsusi kodu ehtiyaclarına uyğun.

sadə yolu yaratmaq - obyekt kontekstində üçün ən uyğun olan varis.

Istisna varis öz istisnalar müəyyən etmək üçün istifadə olunur sinif var oldu. default, ikinci - - arqument msg növü simli ilə MyException iki inşaatçılar var.

Sonra imza ehtiva ictimai sinif FullConstructors həyata üsul f ildə MyException salır. Bu söz f Java MyException istisna kimi atmaq deməkdir. Bundan əlavə, üsul bədən atmaq ilə konsol özü və faktiki nəsil MyException, mətn informasiya çıxış istehsal.

İkinci üsul tutmaq konsol əks olunacaq bir istisna yaratmaq zaman, bir string parametri qəbul edilir ki, ilk biri qədər fərqlidir. əsas bu f () və g () cəhd yoxlanılması yerləşdirilir və söz tutmaq MyException çəkmək üçün yapılandırılmış ki, aydındır. emal nəticəsində konsol bir səhv mesajı göstərmək üçün:

Belə ki, öz əli ilə, Java istisnalar əlavə gəldi.

Architecture istisnalar

Java bütün obyektləri kimi, istisnalar da irsi və bir iyerarxik quruluşu var. Bu proqramlaşdırma dili atılan bütün səhvlərin kök element sinif java.lang.Throwable edir. ona iki növ miras - Error və İstisna.

Error - tənqidi səhv siqnalları və kontrolsuz Java istisnalar var. əksər hallarda ələ və emal belə data dizayn mərhələsində baş verir və son proqram kodu tətbiqi ehtiyacı.

yaradılması və istisnalar təhlili üçün ən çox istifadə olunan sinif istisna deyil. Hansı, öz növbəsində, RuntimeException o cümlədən bir neçə filial bölünür. RuntimeException By proqramı zamanı baş verən ki, uzunluğu istisnalar var. ondan əldə Bütün siniflər Doğrulanamayan var.

Tez-tez istisnalar var

Java istisna olaraq,-siyahısı, ətraflı onların hər təsvir etməlidir, belə ki, ən tez-tez istifadə olunur, aşağıda təqdim edilir:

  • ArithmeticException. Bu hesab əməliyyatları ilə bağlı səhvlər daxildir. ən parlaq misal - Division by zero.
  • ArrayIndexOutOfBoundsException - onun uzunluğu cəmi artıq array element sayına müraciət.
  • ArrayStoreException - array bir araya sığmayan element növü təyin etmək cəhdi.
  • ClassCastException - başqa yanlış bir növü gətirmək cəhdi.
  • IllegalArgumentException - metodu zəng yanlış dəlil istifadə edərək.
  • NegativeArraySizeException - mənfi ölçüsü bir sıra yaratmaq bir istisna.
  • NullPointerException - istinadlar sui-istifadə null.
  • NumberFormatException - bir yanlış string dönüşüm tam zaman baş verir.
  • UnsupportedOperationException - əməliyyat dəstəklənmir.

Bu nümunələr kontrolsuz Java istisna növləri təmsil edir. Amma belə yoxlanılır baxmaq:

  • ClassNotFoundException - Class tapılmadı.
  • IllegalAcccessException - sinif girişi məhdudlaşdırmaq.
  • InterruptedException - axını fasilə.
  • NoSuchFieldException - no lazımi var.

istisnalar şərh

tez-tez rast istisnalar danışan dizayn onların şərhi, səhv qəbul edilə bilər ki, qeyd etmək lazımdır. Next gözlənilməz vəziyyət ola bilər daha ətraflı, izah qısa siyahısı.

NullPointerException. Bir istisna var ilk hal null bərabər bir obyekt bir sened müraciət edir. O, həmçinin sıfır sinif instansiya üsulları uzanır. NullPointerException bərabər uzunluğu null sıra əldə halda atılan bilər. vaxtaşırı null on sites yoxlamaq belə halların qarşısını almaq üçün.

ArrayIndexOutOfBoundsException. Hər hansı bir proqram seriallarda istifadə olmadan yaşaya bilməz. Buna görə, bu tez-tez müraciət yaratmaq və səhv edə bilər. Bir geliştirici index siyahıda deyil bir sıra element daxil olmaq üçün çalışır zaman Istisna baş verir. Məsələn, xahiş dəyər yuxarıda və ya sıfır uzunluğu var. Çox tez-tez serialda sıfır bal ilə başlayır ki, bir nəticəsidir.

nəticələr

Java istisnalar idarə - çox proqramçı işini asanlaşdırır və onu təmiz və kodu səhvlər məhrum bir yaratmaq imkan verir güclü bir vasitədir mühit. necə hamar və sabit fəaliyyət tətbiqi üzrə geliştirici statusu və nüfuzu asılıdır.

Əlbəttə ki, daha az və ya sadə proqramları anormal vəziyyətləri daha asan iz. Amma bir neçə yüz min xətləri üçün böyük avtomatlaşdırılmış komplekslərində yalnız uzunmüddətli test və ayıklama nəticəsində mümkündür.

Onlar meraklıları tapmaq zaman bəzi applications yarandığı Java istisna səhv, bəzi şirkətlər bir mükafat təklif edir. Xüsusilə təhlükəsizlik siyasəti proqram pozulması səbəb olan tərəfindən yüksək qiymətləndirilmişdir.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 az.delachieve.com. Theme powered by WordPress.