КомпјутериПрограмирање

Јава: исклучоци и нивните ракување

Секоја програма ќе работат стабилно само ако изворниот код се дебагира, а не постојат услови кои можат да предизвикаат непредвидливи ситуации. Процесот на фаќање на можните неуспеси се врши во фаза на планирање. Да го направите ова, инвеститорот ги зема во предвид сите очекувани резултати и се обидува да го ограничи влијанието на грешка, така што тоа не може да се меша со работа на програмата, или да доведе до колапс.

Кога ви требаат исклучок ракување

Во Јава, по исклучок може да биде предизвикана од неправилна корисник влез, нема потреба за ненадејна програма мрежа исклучување ресурс или. За удобно користење создадена од барањето инвеститорот, ќе мора да го контролира појавата на итни ситуации. На потрошувачите не треба да се почека да се откажат од некоја апликација, да се изгуби на податоци, како резултат на појави исклучок, или само дел од се појавува порака во која се наведува дека нешто не беше во ред.

Ракување со Јава исклучоци

Што да се разгледа? Јава јазик има своја вградена функционалност исклучок ракување. Се разбира, голем процент на грешка е фатен од страна на друга фаза компилација, системот автоматски ќе го извести дека употребата и тоа не е можно. Но, постои овој вид на исклучок на тоа што се случува за време на извршувањето. Инвеститорот треба да биде во можност да го предвиди и за дизајн на кодот, така што тоа не предизвика грешка, и се погрижил за него на посебен начин и предаде контролата на друга гранка.

Во Јава, тоа е наметнат од страна на компајлерот да се фати исклучок, па се познати типичните проблеми и имаат стандардните шеми на вежбање.

типичен исклучоци

Наједноставен пример, во која ќе може да се добие исклучок - оваа поделба. И покрај неговата едноставност, во смисла, како делител, може да биде нула, што ќе резултира со грешка. Па, ако тоа е можно да се предвиди појавата на минатото и да се спречи. Но, оваа опција не е секогаш на располагање, па фати исклучок треба да се организира директно во случај на "поделба од нула".

Механизмот на Java да се интервенира грешка обработка изгледа вака:

  • грамада исклучок објектот е создадена, како и било која друга;
  • природниот тек на програмата е прекината;
  • механизам за исклучување се обидува да најде алтернативен начин да се продолжи со код;
  • Најде безбедно извршување на програмата во процесорот, на работа или обнови, или ќе се случи реализација исклучок на посебен начин.

Наједноставен пример за креирање грешка може да изгледа вака:

ако (а == NULL)

фрли нова NullPointerException ();

Еве, променлива на се проверува на иницијализација, т.е. не е дали повикување на null објект. Ако оваа ситуација има појавено и треба посебен третман, исклучок е фрлена од страна аут нови NullPointerException ().

Неколку детали за клучни зборови

Кога се занимаваат со исклучоци често е потребно да се користи Јава клучни зборови за да се однесуваат на одредена акција. Овој јазик на своите програмски пет:

  • Се обиде. Оваа клучен збор е веќе исполнети, а тоа значи транзиција во делот на код кој може да фрлаат исклучок. Забрани ограничен загради {}.
  • Фати. Тоа го пресече го саканиот тип исклучок и да се справи соодветно.
  • Конечно. Оваа клучен збор не е задолжително и се користи за да се изврши одредена парче код, што во секој случај е потребно, дури и ако не е исклучок не е фатен. Додадено непосредно по обид блок.
  • Фрли - Ви овозможува да се создаде Јава исклучоци од било каде.
  • Фрла - клучен збор, која е поставена во потпис на методот. Тоа значи дека на следниов код може да се фрли исклучок од овој тип Јава. Оваа ознака служи како сигнал за програмери кои треба да се има на ум - методот не може да работи како што се очекува од него.

Фаќање со проба

Порака на Јава исклучоци, се разбира, се претпоставува дека ќе се постапува на посебен начин. На најзгодно начин да го направи тоа, ако делот кодот е оградена во блок. Кој може да содржи исклучок. Кога ќе ја стартувате овој код, виртуелната машина ќе се најде неочекувана ситуација, да разберат дека постои критична блок и трансфери се контролира на станицата со обработката.

Кодот Јава е завиткано во посебен блок се обиде, во кој може да биде исклучок. Така, тој го стави неколку непредвидени ситуации кои ќе бидат фатени на истото место, а не raspolzayas код.

Најтипични код за единица за обработка е како што следува:

пробајте {

// Еве некои код кој може да генерира исклучок

} Фати (Tip_isklyucheniya_1 identifikator_1) {

// Тука постои исклучок ракување, според видот и услови;

} Фати (Tip_isklyucheniya_2 identifikator_2) {

// Тука постои исклучок ракување, според видот и услови;

}

фати клучни зборови извештаи дека кодот, и скенирање за исклучок, треба да се третира како што е опишано подолу, под услов тоа да е во согласност со нејзиниот вид. Идентификатор може да се користи во обработка на блок како аргументи.

конечно

Како што стана јасно од претходното поглавје, блокови фати фати исклучоци и процесот на нив. Но, многу често во состојба постои кога треба да се кандидира на некои код, без оглед на тоа дали тие биле фатени грешки. За ова постои клучниот збор конечно. Тоа се користи за да се зголеми вредноста на разни шалтери, затворање на датотеки и мрежни врски.

Оваа парцела презентира неколку блокови фати измислен методи фати исклучоци. На пример, кодот содржани во обид генерира неочекувана ситуација како што се ладно. Потоа, конзолата ќе се прикаже изразот «Фатени ладно!" И "Дали е тоа нешто да навиваат за?». Тоа е, конечно блок се извршува во секој случај.

Всушност, на начин да се избегне предизвикување конечно таму. Тоа е поврзано со проектот на виртуелната машина. Најди ги како да го спроведе, тоа е можно на интернет отворени простори.

фрли клучен збор

Фрли генерира исклучок. синтакса својата е како што следува:

фрли нова NewException ();

Таму ќе се создаде нова исклучок од NewException тип (). Како еден вид може да се користи веќе се вклучени во стандардната Java класи библиотека и претходно дефинирани од страна на инвеститорот од сопствено производство.

Овој дизајн е дел од описот на секој метод, кој на повикот, тогаш треба да се случи во рамките на блокот, се обиде, со цел да биде во можност да го пресретнат.

Клучен збор фрла

Што ако во процесот на развој на ситуација каде што методот може да се фрли исклучок, но не се во состојба да се справи со правилно. За таа цел, во потпис метод одредува збор фрла и видот на можни исклучоци.

Оваа ознака е еден вид на показател за клиент програмери дека методот не е во состојба да се справи со нивните иста исклучок. Покрај тоа, доколку типот на грешка се проверува, а потоа компајлерот ќе ги принуди експлицитно побара за тоа.

Обидете се да се ресурси

Јава верзија 7 програмерите вклучени голема иновација, како третман обид блок со ресурси.

Многу објекти се создадени во Јава, по употребата треба да се затвори за да се зачува ресурси. Претходно таа мораше да се земе тоа во предвид и да се спречи овие случаи рачно. Сега, сепак, тие се појавија AutoClosable интерфејс. Тоа им помага да се затвори автоматски веќе се користи објекти поставени во обид блок. Преку овој пристап, стана полесно да се напише код во неговата читливост е значително зголемен.

Сопствена Јава класите исклучоци

Креаторите на опишаните програмски јазик зеде предвид многу аспекти на дизајн видови на итни случаи. Сепак, сите опции за да се спречи исходот на настаните нема да работи, така што во Јава спроведува способноста да се дефинираат сопствените исклучоци, тоа е соодветен на потребите на конкретниот код.

Наједноставниот начин да се создаде - да го наследат од соодветните контекстот на објектот.

Таму се случи да го наследат од исклучок, класата која се користи да се дефинира свој исклучоци. Во MyException има две конструкторски - стандардно, втората - со Стринг аргументот тип msg.

Потоа, во јавноста во училница FullConstructors спроведува метод f, која содржи потпис фрла MyException. Овој клучен збор значи дека f може да се фрли како Java MyException исклучок. Понатаму, во телото на методот произведени текстуални информации излез на самата конзола и вистинскиот MyException генерација, со фрлање.

Вториот метод е малку различен од првиот што кога ќе се создаде исклучок, е донесен стринг параметар, што ќе се одрази во конзола на фаќање. Во главниот јасно е дека f () и g () се ставени во обид проверка и го фати клучни зборови конфигуриран да го фати MyException. Како резултат на обработка е да се прикаже порака за грешка во конзола:

Така дојде да додадете Јава исклучоци, од своја рака.

архитектура исклучоци

Како и со сите објекти во Јава, исклучоци, исто така, се наследени и имаат хиерархиска структура. корен елемент на сите грешки фрлени во овој програмски јазик е класа java.lang.Throwable. Наследен од него два вида - грешки и исклучоци.

Грешка - сигнализира критична грешка и е неконтролираното Јава исклучоци. Следење и обработка на такви податоци во повеќето случаи се јавува во фазата на дизајнирање и нема потреба од воведување во финалето апликација код.

Најчесто се користи за креирање на класа и анализа на исклучоци е исклучок. Кои, пак, се поделени во неколку гранки, вклучувајќи RuntimeException. Со RuntimeException се траење исклучоци, тоа е, се случуваат во текот на програмата. Сите класи кои произлегуваат од него се неаргументирано.

Често постојат исклучоци

Во Јава исклучоци, листата на која се прикажани подолу, се користи најчесто, па затоа треба да се опише секоја од нив во детали:

  • ArithmeticException. Тие вклучуваат грешки поврзани со аритметички операции. Најочигледната пример - делење со нула.
  • ArrayIndexOutOfBoundsException - жалба до број низа елемент кој го надминува вкупниот износ на неговата должина.
  • ArrayStoreException - обид да му ја додели на некомпатибилни елементи тип на низата.
  • ClassCastException - обид да се донесе погрешна еден вид во друг.
  • IllegalArgumentException - со користење на погрешен аргумент во метод повик.
  • NegativeArraySizeException - исклучок кога ќе се создаде низа на негативни големина.
  • NullPointerException - злоупотреба на референци на нула.
  • NumberFormatException - се јавува кога погрешен конверзија стринг во цел број.
  • UnsupportedOperationException - операција не е поддржана.

Овие примери претставуваат видови на неконтролираното Јава исклучоци. тоа, но изгледа провери:

  • ClassNotFoundException - класа не е пронајдена.
  • IllegalAcccessException - го ограничи пристапот до класа.
  • InterruptedException - прекин на протокот.
  • NoSuchFieldException - не постојат задолжителни полиња.

Толкувањето на исклучоци

Кога станува збор за често се среќава исклучоци треба да се напомене дека нивното толкување во дизајн, може да се сфати погрешно. Следна е краток список објаснува подетално, каде што може да има неочекувана ситуација.

NullPointerException. Уште првиот случај кога постои исклучок, е да им се допадне на повикување на објект кој е еднаков на нула. Тоа исто така се однесува на методите на нула класа пример. NullPointerException може да биде фрлена во случај на добивање еднаква должина нула низа. За да избегнете такви ситуации периодично ќе проверува сајтови на нула.

ArrayIndexOutOfBoundsException. Секоја програма не може да постои без употреба на низи. Соодветно на тоа, често се прибегне кон тоа може да генерира и грешки. Исклучок се случува кога инвеститорот се обидува да пристапи низа елемент кој не е во листата на индексот. На пример, се бара вредност е над или под нулта должина. Многу често е резултат на фактот дека во низа почнува со резултат од нула.

наодите

Ракување со Јава исклучоци - моќна алатка за животната средина, кои во голема мера ја олеснува работата на програмерот и му дозволува да се создаде чиста и лишен од кодот грешки. За тоа како непречено и стабилно функционирање апликација зависи од статусот и угледот на инвеститорот.

Се разбира, во повеќе или помалку едноставни програми да се трага абнормални ситуации многу полесно. Но во голем автоматски комплекси за неколку стотици илјади линии тоа е можно само како резултат на долгорочна тестирање и дебагирање.

За Јава исклучок грешка од кои се јавуваат во некои апликации, некои компании нудат награда кога ќе најдат ентузијасти. Особено ценети од страна на оние кои предизвикуваат повреда на софтвер за безбедносна политика.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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