throw
- Dart kursu
- Başlangıç
- Ders 101/116
- 4 dk
throw ile istisna fırlatmayı öğrenirsin.
throw
Kendi hatanı fırlatmak için throw kullanılır. Bir Exception nesnesi veya dize fırlatabilirsin. Örneğin throw Exception("negatif sayı");. Bu, bir koşul sağlanmadığında programı durdurmak ve çağıranı uyarmak için kullanılır.
Throw ile fırlatılan değer, yukarıdaki çağrı zincirinde bir catch bulana kadar yayılır. Bulamazsa program sonlanır. Tipik kullanım: işlev parametresini doğrula, geçersizse throw ile hata fırlat. Bu, çağıranın sorunu bilerek düzeltmesini sağlar. Throw, bir ifade olduğu için değer döndüren işlevlerde de kullanılabilir.
Koşullu throw
Throw çoğu zaman bir if ile birlikte kullanılır. Koşul sağlanmazsa hata fırlatılır. Örneğin bir yaş doğrulaması: if (yas < 0) throw ArgumentError("yaş negatif");. Bu, işlevin başında yapılan bir ön testtir.
Throw bir değer döndüren ifadedir; bu yüzden ternary işleçle de kullanılabilir. final sonuç = koşul ? deger : throw Exception("Geçersiz");. Bu, switch expression'da da geçerlidir; _ => throw Exception("bilinmiyor"). Throw'un ifade olması Dart 3 ile daha da güçlenmiştir; artık her yerde değer beklenen yerde kullanılabilir.
Uygulama Sıra sende: negatif yaş doğrula
main içinde final yas = -5; ata. Bir if ile yas < 0 olduğunda ArgumentError ile hata fırlat. Çağrıyı bir try bloğuna al ve catch (e) ile print(e) yazdır.
Başlangıç kodu
void main() {
// final yas = -5;
// try içinde if ile negatifse ArgumentError fırlat
// hata durumunda yazdır
}Örnek çözüm
void main() {
try {
final yas = -5;
if (yas < 0) throw ArgumentError("yaş negatif");
} catch (e) {
print(e);
}
}Beklenen çıktı
Invalid argument(s): yaş negatif
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 throw çağrısı
if (sayi < 0) {
____ Exception("negatif sayı");
}
if (sayi < 0) {
throw Exception("negatif sayı");
}
Açıklama: throw ile hata fırlatılır.
2 Bir koşul sağlanmadığında ne yapılır?
if (yas < 0) {
____ ArgumentError("yaş negatif");
}- throw
- return Doğru cevap
- break
- continue
Açıklama: throw ile hata fırlatılır.
3 throw eşleştir
| Kavram | Anlamı |
|---|---|
throw |
hata fırlatır |
Exception |
genel hata sınıfı |
ArgumentError |
geçersiz parametre |
if |
koşulu sınar |