Study
Swift

Error Handling di Swift (Do/Try/Catch)

Penjelasan

Fungsi di Swift yang berpotensi menghasilkan error wajib ditandai throws di deklarasinya, dan melempar error lewat throw. Untuk memanggilnya, kode pemanggil wajib membungkusnya dalam blok do, dan memanggil fungsinya dengan awalan try — error yang dilempar ditangkap di blok catch.

Contoh Konsep

enum ErrorPembagian: Error {
    case bagiDenganNol
}

func bagi(_ a: Int, _ b: Int) throws -> Int {
    if b == 0 {
        throw ErrorPembagian.bagiDenganNol
    }

    return a / b
}

do {
    let hasil = try bagi(10, 0)
    print(hasil)
} catch {
    print("Error: \(error)")
}

Praktikum

Buat enum ErrorIndex: Error dengan case diLuarJangkauan. Buat fungsi ambilElemen(_ data: [Int], _ index: Int) throws -> Int yang melempar error itu kalau index di luar jangkauan data. Panggil di dalam do/try/catch dengan index yang sengaja tidak ada, lalu tampilkan pesan errornya.

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Kata try WAJIB ditulis di depan setiap pemanggilan fungsi throws — ini sengaja dibuat terlihat jelas di kode supaya siapa pun yang membaca langsung tahu baris itu berpotensi melempar error, tanpa perlu membuka deklarasi fungsinya.