Yükleniyor...

Java'da fırlatma

Durmayi siz throw ile yazin. Signal.java acin ve water yazdirmadan once empty mesajiyla IllegalArgumentException firlatın. javac Signal.java ile derleyin ve java Signal calistirin. Program throw satirinda durur; water yazdirilmaz. Ikinci demo cups degerini 0 yapar, if girilir ve firlatilir. Ucuncu demo cups degerini 3 yapar, if atlanir ve ekran water yazdirir. Dosya okumayi sonraki sayfaya birakin.

Siz durmayi yazarsiniz

Onceki sayfalar bir kurali bozan satir yuzunden durmayi gosterdi — kotu dizi indeksi ArrayIndexOutOfBoundsException firlattti. Bu sayfa ters yon. Siz istisna turunu secer ve bilerek throw yazarsiniz. Signal.java adli ogretim dosyasini acin. Genel sinif adini Signal tutun, dosya adiyla eslesin. Guard catch demolarini, Alarm dizi durmalarini ve her Scanner veya nextLine kalintisini silin. Program klavye beklememeli. Bu sayfa import satiri istemez.
main icinde, sessiz basari yazdirmasindan once firlatın:
throw new IllegalArgumentException("empty");
Sonra throw calisinca calismamasi gereken bir yazdirma tutun:
System.out.println("water");
Tirnak icindeki sozcukler mesajdir. Tur adi IllegalArgumentException. Sifira bolmuyorsunuz ve slots[5] okumuyorsunuz. Durma, throw yazdiginiz icin vardir.

Signal bare throw stops before water

java
public class Signal {
    public static void main(String[] args) {
        throw new IllegalArgumentException("empty");
        // water would not run after throw
    }
}

Signal.java bulunan klasorde javac Signal.java calistirin. Parantezler, suslu parantezler ve noktali virguller uyunca javac kendi satirini yazmaz. Sonra java Signal — java Signal.java degil. Calistirma komutundan .java son ekini cikarin.
Calisma throw satirinda durur. Terminal IllegalArgumentException der ve empty mesajini gosterir. O throw sonrasi water yazdirmasi calismaz, cunku program zaten durmustur. Ayni main icinde throw sonrasi ulasilamaz System.out.println("water"); tutarsaniz bazi derleyiciler uyarir; ogretim fikri ayni: throw sonrasi o yoldaki normal satirlar calismaz. javac sikayet ederse olu yazdirmasiz dosyayi tercih edin — durmanin kendisi derstir.
Terminal klavye bekliyorsa dosyada eski alistirmadan nextLine vardir. Silin. blocked sonra after gorurseniz hala Guard catch dosyasi calisiyordur — java Signale gecin. slots[5]ten ArrayIndexOutOfBoundsException gorurseniz Alarm kalintisi aktiftir; bu ders icin throw satiriyla degistirin.

Sifir cups if'e girer ve firlatir

Ikinci program yeniden baslar. cups degerini 0 saklayin. cups 1den kucukse ayni IllegalArgumentException ve empty mesajiyla firlatın. if sonrasinda water yazdirmasi tutun.

Signal zero cups throws

java
public class Signal {
    public static void main(String[] args) {
        int cups = 0;
        if (cups < 1) {
            throw new IllegalArgumentException("empty");
        }
        System.out.println("water");
    }
}

javac Signal.java ile derleyin, sonra java Signal calistirin. Sifir birden kucuktur, if girilir ve throw calisir. Ekran ayni durmayi gosterir: IllegalArgumentException ve empty. water sozcugu yazdirilmaz. Bu sayfada durma yakalanmaz, program orada biter. Bilerek — onceki sayfa catch; bu sayfa throw yazmayi calistirir.
Suslu parantezleri bir kez yuruyun. throw satiri if blogunun icindedir. water yazdirmasi if disindadir. throw calisinca program zaten durmustur, watere ulasilamaz. Girinti ve suslu parantezler throw'u kontrolun icine koyar.

Uc cups throw'u atlar ve water yazdirir

Ucuncu program da yeniden baslar. cups degerini 3 yapin. Ayni if, ayni throw ve ayni water yazdirmasini tutun.

Signal three cups prints water

java
public class Signal {
    public static void main(String[] args) {
        int cups = 3;
        if (cups < 1) {
            throw new IllegalArgumentException("empty");
        }
        System.out.println("water");
    }
}

Yine javac Signal.java ve java Signal ile derleyip calistirin. Uc birden kucuk degildir, ife girilmez. throw hic calismaz. Ekran water yazdirir. Durma yoktur. Bu karsiast kontrol noktasidir: throw yalnizca kosul degerin kullanilamaz oldugunu soylediginde calisir.
Bu sayfada bu ogretim dosyalarinin etrafinda catch uydurmayin. Guard'da catch calistiniz. Burada yazdiginiz durmayi ve throw'u atlayan yolu gormelisiniz. Bos cups icin IllegalArgumentException yerine ArrayIndexOutOfBoundsException koymayin — o ad kotu dizi indeksine aitti, throw ile yazdiginiz deger kontrolune degil.

Yazdiginiz ad

Firlatttiginiz tur IllegalArgumentException, ArrayIndexOutOfBoundsException degil ve tur olarak ciplak empty sozcugu degil. empty mesaji adin yaninda gostermek istediginiz seydir. Bu durmayi sonra yakalarsaniz catch cumlesi IllegalArgumentException adini vermelidir. NullPointerException catch'i bunu ele almaz. Bugun bu Signal dosyalarinda catch alistirmasi gerekmez.
IllegalArgumentException baslangic kullaniminda calisma zamani istisnasidir; bu kucuk main demolarinda main uzerinde throws cumlesi gerekmez. Bu tek acik tur ve mesajda kalin. Sonraki sayfa dosya acmadan once her firlatilabilir sinifin kataloguna ihtiyaciniz yok.

Guard catch ile karsilastirma

try-catch sayfasinda java Guard kotu indeksi isledi ve aftera kadar devam etti. Bu sayfada java Signal bilerek durdurur ve yakalamaz. Dizi hikayesi gecmistir. Guard dosyalarini yakinlarda eski demo olarak tutun; throw demolarinda ekran bu dersle uyussun diye java Signal calistirin.

Bu sayfa files icin ne birakir

Bu sayfa yalnizca throw ile durdurma gosterir. Sonraki sayfa dosya okumaya baslar. Durmayi yazmaya ve cups kullanilabilirken atlamaya kalin. Bu Signal demolarinda henuz dosya acmayi zorunlu kilanayin.

files oncesi

IllegalArgumentException("empty") firlatip calismanin water oncesi durmasini gorebilirsiniz. cups 0 iken if girilir ve ayni durma olur. cups 3 iken throw calismaz ve ekran water yazdirir. Signal.java derleyin ve saklanan her demo icin sirayla java Signal calistirin. Bu durmanin adi IllegalArgumentException. Sonraki sayfa dosya okumadir.
Yazdiginiz acik durma icin ciplak throw'u tutun. Throw'u atlayabilen kosul icin cups ciftini tutun. Dosya okumayi bu sayfanin disinda tutun. Bu uc aliskanlik devam etmeden onceki kontrol noktasidir. water yalnizca cups-uc java Signal calismasinda gorunurse throwing bu dersin isini bitirmistir ve dosyalar konusuna hazirsiniz.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
4
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek