logo

Java anahtar kelimeyi atar

Java anahtar kelimeyi atar Bir istisna bildirmek için kullanılır. Programcıya bir istisnanın oluşabileceği bilgisini verir. Bu nedenle, programın normal akışının sürdürülebilmesi için programcının istisna işleme kodunu sağlaması daha iyidir.

İstisna İşleme esas olarak kontrol edilen istisnaları işlemek için kullanılır. NullPointerException gibi denetlenmeyen bir istisna meydana gelirse, kodu kullanılmadan önce kontrol etmemesi programcının hatasıdır.

sh betiğini çalıştırılabilir hale getirme

Java fırlatmalarının sözdizimi

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

Hangi istisna bildirilmelidir?

Yıllar: Yalnızca işaretlenen istisna, çünkü:

    işaretlenmemiş istisna:kontrolümüz altındadır, böylece kodumuzu düzeltebiliriz.hata:kontrolümüz dışında. Örneğin VirtualMachineError veya StackOverflowError oluşursa hiçbir şey yapamayız.

Java'nın avantajı anahtar kelimeyi atar

Artık Kontrol Edilen İstisna yayılabilir (çağrı yığınında iletilebilir).

Yöntemi çağıran kişiye istisna hakkında bilgi sağlar.

Java Örnek atar

İşaretli istisnaların throws anahtar sözcüğüyle yayılabileceğini açıklayan Java throws cümlesi örneğini görelim.

Testthrows1.java

c'de rastgele
 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...'); } } 
Şimdi Test Edin

Çıktı:

 exception handled normal flow... 

Kural: Eğer istisna bildiren bir yöntemi çağırıyorsak, istisnayı ya yakalamamız ya da bildirmemiz gerekir.

İki durum var:

    Dava 1:İstisnayı yakaladık, yani istisnayı try/catch bloğunu kullanarak ele aldık.Durum 2:İstisnayı, yani belirtilen throws anahtar sözcüğünü yöntemle bildirdik.

Durum 1: Try-catch bloğunu kullanarak İstisnaları İşleyin

İstisnayı ele almamız durumunda, program sırasında istisna meydana gelse de gelmese de kod düzgün bir şekilde yürütülecektir.

Testthrows2.java

 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...'); } } 
Şimdi Test Edin

Çıktı:

 exception handled normal flow... 

Durum 2: İstisna Bildirmek

  • İstisnayı bildirmemiz durumunda, istisna oluşmazsa kod düzgün yürütülecektir.
  • İstisnayı bildirmemiz ve istisnanın oluşması durumunda, çalışma zamanında atılacaktır çünkü atar istisnayı işlemez.

Her iki senaryo için de örnekler görelim.

A) İstisna oluşmazsa

Testthrows3.java

 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...'); } } 
Şimdi Test Edin

Çıktı:

latekste kısmi türev
 device operation performed normal flow... 

B) İstisna meydana gelirse

Testthrows4.java

 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...'); } } 
Şimdi Test Edin

Çıktı:

Java anahtar sözcüğünü at

Atma ve atma arasındaki fark

Ayrıntılar için beni tıklayın

Que) Bir istisnayı yeniden düzenleyebilir miyiz?

Evet, aynı istisnayı catch bloğuna atarak.