CodeBlanks Logo Icon CodeBlanks

Async error

Async error ve try/catch öğrenirsin.

Async error

Asenkron fonksiyonlardaki hatalar bir Future içinde döner. try/await/catch ile yakalanır.

Bir Future hata döndürürse, await çağrısı istisna fırlatır: try { await fetchUser(); } catch (e) { print(e); }.

main artık async olmalı: void main() async { ... }. Bu, await kullanmanın şartıdır.

Async error örneği

Bir asenkron fonksiyon hata fırlatabilir: Future<void> fetchUser() async { throw Exception('çevrimdışı'); }.

Çağıran taraf: try { await fetchUser(); } catch (e) { print(e); }. await ile Future beklenir; hata varsa catch'e düşer.

Bu, senkron try/catch ile aynı görünümdedir; tek fark await anahtarıdır.

Uygulama Async hata yakalama

Future<void> fetchUser() async { throw Exception('çevrimdışı'); } fonksiyonunu tanımla. main'i async yap: try { await fetchUser(); } catch (e) { print(e); } ile çağır.

Başlangıç kodu

main.dart
// fetchUser fonksiyonunu tanımla

void main() async {
  // fetchUser'ı await ile çağır, hatayı yakala
}

Örnek çözüm

main.dart
Future<void> fetchUser() async {
  throw Exception('çevrimdışı');
}

void main() async {
  try {
    await fetchUser();
  } catch (e) {
    print(e);
  }
}

Beklenen çıktı

Exception: çevrimdışı

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 await ile hata yakalama

Soru
try { await fetch(); } ____ (e) { print(e); }
Cevap
try { await fetch(); } catch (e) { print(e); }

Açıklama: catch (e) hatayı yakalar.

2 Async error kavramları

Kavram Anlamı
await Future'ı bekler
catch Hatayı yakalar
Future Asenkron değer
async Asenkron fonksiyon

3 Async fonksiyonda hata nasıl yakalanır?

  • on Error catch
  • if (error)
  • try { await ... } catch Doğru cevap
  • switch (error)

Açıklama: await ile çağrı try içine alınır, catch yakalar.

Orta seviye bölümündeki tüm dersler