Section 9/91 menit
9. Ringkasan
9. Ringkasan
Decision Guide
swift
Fungsi throws error?
├── TIDAK → Tidak perlu throws
└── YA
│
Error datang dari satu domain yang terdefinisi?
├── YA dan set error terbatas → throws(DomainError)
├── YA tapi set bisa berkembang banyak → pertimbangkan throws biasa
└── TIDAK (multiple sources, external libs) → throws biasa (any Error)
Apakah fungsi ini generic dan butuh meneruskan error type?
└── YA → throws(E) dengan E: Error — ini killer use case-nya
Perbandingan Cepat
| Situasi | Rekomendasi |
|---|---|
| Domain error yang jelas dan terbatas | throws(DomainError) |
| Generic function (map, filter) | throws(E) where E: Error |
| Fungsi memanggil banyak library eksternal | throws biasa |
| Non-throwing (tapi dalam konteks generic) | throws(Never) |
| Public API library | throws(LibraryError) |
| Prototyping | throws biasa dulu |
Dibuat: 2026-05-08 | Swift 6.0