Async error
- Dart kursu
- Orta seviye
- Ders 104/116
- 5 dk
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
// fetchUser fonksiyonunu tanımla
void main() async {
// fetchUser'ı await ile çağır, hatayı yakala
}Örnek çözüm
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
try { await fetch(); } ____ (e) { print(e); }
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.