Fungsi error()
Termasuk bagian Logika dan Alur dalam perjalanan Lua di Coddy. Pelajaran 32 dari 54.
Terkadang kodemu perlu langsung berhenti saat terjadi kesalahan. Lua menyediakan fungsi error() untuk menangani situasi ini dengan memunculkan error dan menghentikan eksekusi skrip.
Fungsi error() menerima pesan sebagai argumennya dan menghentikan program, lalu menampilkan pesan tersebut untuk menunjukkan apa yang salah. Berikut sintaks dasarnya:
error("Something went wrong!")Ini sangat berguna saat memvalidasi input fungsi. Misalnya, jika sebuah fungsi mengharapkan angka positif tetapi menerima angka negatif, kamu dapat menggunakan error() untuk mencegah eksekusi lebih lanjut:
function calculateSquareRoot(num)
if num < 0 then
error("Cannot calculate square root of a negative number")
end
return math.sqrt(num)
endSaat error() dipanggil, program langsung berhenti pada titik tersebut dan menampilkan pesan error khusus buatanmu. Ini membantumu menemukan masalah lebih awal dan menjelaskan dengan jelas apa yang salah, sehingga kodemu lebih andal dan lebih mudah di-debug.
error() digunakan untuk kesalahan nyata, seperti saat fungsi dipanggil dengan jenis nilai yang salah. Untuk kegagalan yang seharusnya diantisipasi oleh pemanggil, seperti item yang hilang atau input pengguna yang tidak valid, kode Lua biasanya tidak menimbulkan error. Sebaliknya, fungsi mengembalikan nil dan sebuah pesan, lalu pemanggil memeriksa hasilnya:
function findItem(inventory, name)
if inventory[name] == nil then
return nil, "No item called " .. name
end
return inventory[name]
end
local count, err = findItem({potion = 3}, "sword")
if count then
print("You have " .. count)
else
print(err) -- Tidak ada item bernama sword
endFungsi bawaan Lua bekerja dengan cara yang sama: tonumber("abc") mengembalikan nil, dan io.open() mengembalikan nil dan sebuah pesan saat tidak dapat membuka file.
Coba sendiri
Pelajaran ini tidak memiliki tantangan kode.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Semua pelajaran di Logika dan Alur
1Iterasi Tabel Tingkat Lanjut
Iterasi dengan pairs()Iterasi dengan ipairs()pairs() vs. ipairs()Rangkuman: Lembar Karakter2Fungsi library tabel Lainnya
table.concat()Pembuatan tabel & unpack()table.sort()Pengurutan Kustom dengan FungsiRangkuman, Papan Skor TertinggiLatihan sendiri: Compiler Lua online