Menangkap Kesalahan Jaringan & Penguraian
Konversikan pengecualian Ktor dan serializer menjadi hasil
Menangkap Kesalahan Jaringan & Penguraian adalah pelajaran Kotlin Multiplatform Academy gratis di CoddyKit. Ini adalah pelajaran 2 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Kotlin Multiplatform Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.
Tempat Kesalahan Bermula
Sebagian besar kegagalan muncul di dua tempat: panggilan jaringan dan penguraian JSON. Menanganinya di sini membuat bagian lain dari kode bersama tetap bersih dan tenang.
Bungkus Panggilan yang Berisiko
Letakkan permintaan Ktor dan proses decode di dalam satu blok try. Satu bagian yang dijaga akan lebih mudah dipahami daripada pemeriksaan yang tersebar.
try {
val user = client.get(url).body<User>()
} catch (e: Exception) { }Tangani Kegagalan Jaringan
Koneksi yang terputus akan menghasilkan IOException. Tangkap kesalahan tersebut dan ubah menjadi Failure yang jelas agar UI dapat menampilkannya sebagai masalah konektivitas.
catch (e: IOException) {
Failure("No connection")
}Tangani Kegagalan Penguraian
Saat JSON tidak sesuai dengan model Anda, kotlinx.serialization menghasilkan SerializationException. Tangani secara terpisah agar Anda mengetahui bahwa datanya, bukan jaringannya, yang bermasalah.
catch (e: SerializationException) {
Failure("Bad data")
}Urutkan Blok catch Anda
Daftarkan pengecualian spesifik terlebih dahulu, lalu Exception yang umum di urutan terakhir. Kotlin mencocokkan dari atas ke bawah, jadi tipe yang lebih khusus harus diletakkan sebelum penangkap semua.
Kembalikan, Jangan Lemparkan Lagi
Di dalam setiap catch, buat Failure lalu kembalikan. Melemparkannya lagi hanya akan meneruskan kerusakan ke aplikasi yang sedang Anda lindungi.
Pertahankan di commonMain
Penjagaan ini sebaiknya berada di kode bersama, tepat di sekitar pemanggilan. Android dan iOS kemudian menerima Result aman yang sama tanpa pekerjaan tambahan.
Periksa Kode Status Ktor
Server yang dapat dijangkau tetap dapat menjawab 404 atau 500. Periksa status respons dan petakan kode non-2xx menjadi Failure juga.
if (!resp.status.isSuccess())
return Failure("Server error")Hindari Menelan Kesalahan Secara Diam-Diam
Jangan pernah membiarkan catch kosong. Catat penyebabnya sebelum mengembalikan Failure agar Anda tetap dapat men-debug apa yang sebenarnya terjadi pada perangkat.
runCatching sebagai Jalan Pintas
Kotlin menyediakan runCatching untuk membungkus suatu blok menjadi nilai seperti Result, sebagai alternatif yang rapi jika Anda tidak memerlukan logika catch khusus.
val r = runCatching { fetch() }Satu Alur, Dua Sumber
Kesalahan jaringan dan penguraian kini mengalir melalui satu alur menuju tipe Failure Anda, sehingga pemanggil menangani keduanya dengan cabang sederhana yang sama.
Pemeriksaan Singkat
Pikirkan bagaimana kotlinx.serialization menandakan adanya masalah.
Rangkuman
Anda membungkus pemanggilan dalam try, menangkap IOException dan SerializationException secara terpisah, memetakan kode status yang bermasalah, serta mengembalikan Failure yang rapi dari kode bersama. 🛡️
Belajar Kotlin dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Menangkap Kesalahan Jaringan & Penguraian” gratis?
Ya — teks lengkap “Menangkap Kesalahan Jaringan & Penguraian” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Kotlin Multiplatform Academy, upgrade ke CoddyKit PRO. Kursus Kotlin Multiplatform Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Menangkap Kesalahan Jaringan & Penguraian”?
Konversikan pengecualian Ktor dan serializer menjadi hasil Kamu berlatih Kotlin Multiplatform Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Kotlin Multiplatform Academy?
Tidak diperlukan pengalaman sebelumnya. Kotlin Multiplatform Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 2 dari 4.
Berapa lama pelajaran “Menangkap Kesalahan Jaringan & Penguraian” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Kotlin Multiplatform Academy ini?
Ya. Setiap pelajaran Kotlin Multiplatform Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tipe Hasil Tersegel
- Menangkap Kesalahan Jaringan & Penguraian
- Memetakan Kesalahan ke Pesan UI
- Percobaan Ulang & Fallback Offline