logo

Јава баца кључну реч

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

Руковање изузецима се углавном користи за руковање провереним изузецима. Ако дође до неког непровереног изузетка, као што је НуллПоинтерЕкцептион, грешка је програмера што не проверава код пре него што га употреби.

линук која наредба

Синтакса Јава бацања

 return_type method_name() throws exception_class_name{ //method code } 

Који изузетак треба прогласити?

године: Проверен само изузетак, јер:

    необележен изузетак:под нашом контролом како бисмо могли да исправимо наш код.грешка:ван наше контроле. На пример, не можемо ништа да урадимо ако се појави ВиртуалМацхинеЕррор или СтацкОверфловЕррор.

Предност Јава баца кључну реч

Сада проверени изузетак може да се пропагира (прослеђује у стеку позива).

Он пружа информације позиваоцу методе о изузетку.

Јава баца Пример

Погледајмо пример Јава тхровс клаузуле која описује да се проверени изузеци могу ширити помоћу кључне речи тхровс.

Тесттхровс1.јава

 import java.io.IOException; class Testthrows1{ void m()throws IOException{ throw new IOException('device error');//checked exception } void n()throws IOException{ m(); } void p(){ try{ n(); }catch(Exception e){System.out.println('exception handled');} } public static void main(String args[]){ Testthrows1 obj=new Testthrows1(); obj.p(); System.out.println('normal flow...'); } } 
Тестирајте одмах

Излаз:

 exception handled normal flow... 

Правило: Ако позивамо методу која декларише изузетак, морамо или ухватити или декларисати изузетак.

Постоје два случаја:

    Случај 1:Ухватили смо изузетак, тј. обрадили смо изузетак помоћу блока три/цатцх.Случај 2:Декларисали смо изузетак, тј. специфицирали тхровс кључну реч са методом.

Случај 1: Руковање изузетком помоћу блока три-цатцх

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

Тесттхровс2.јава

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } public class Testthrows2{ public static void main(String args[]){ try{ M m=new M(); m.method(); }catch(Exception e){System.out.println('exception handled');} System.out.println('normal flow...'); } } 
Тестирајте одмах

Излаз:

декодирати басе64 јавасцрипт
 exception handled normal flow... 

Случај 2: прогласити изузетак

  • У случају да прогласимо изузетак, ако се изузетак не догоди, код ће бити добро извршен.
  • У случају да прогласимо изузетак и дође до изузетка, он ће бити избачен током извођења јер баца не обрађује изузетак.

Хајде да видимо примере за оба сценарија.

пропозициона логика

А) Ако не дође до изузетка

Тесттхровс3.јава

 import java.io.*; class M{ void method()throws IOException{ System.out.println('device operation performed'); } } class Testthrows3{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Тестирајте одмах

Излаз:

 device operation performed normal flow... 

Б) Ако дође до изузетка

Тесттхровс4.јава

 import java.io.*; class M{ void method()throws IOException{ throw new IOException('device error'); } } class Testthrows4{ public static void main(String args[])throws IOException{//declare exception M m=new M(); m.method(); System.out.println('normal flow...'); } } 
Тестирајте одмах

Излаз:

Јава тхров кључна реч

Разлика између бацања и бацања

Кликните на мене за детаље

Куе) Можемо ли поново бацити изузетак?

Да, избацивањем истог изузетка у блоку цатцх.