Debugging Dasar (print, warn, error handling pcall)
Penjelasan
Debugging paling dasar di Luau dilakukan lewat `print()` untuk log biasa dan `warn()` untuk pesan peringatan yang tampil berwarna kuning di Output Roblox Studio, memudahkan membedakan log penting dari log biasa. Untuk kode yang berpotensi error (misalnya memanggil API eksternal atau mengakses data yang mungkin tidak ada), `pcall()` membungkus pemanggilan fungsi supaya error tidak menghentikan seluruh script, melainkan dikembalikan sebagai nilai boolean plus pesan error. Pola `pcall` sangat penting di server Roblox — satu error yang tidak ditangani dalam sebuah event bisa menghentikan alur logic untuk pemain itu, tapi dengan `pcall`, error bisa ditangkap dan game tetap berjalan dengan penanganan yang lebih baik (misalnya retry atau pesan ke pemain).
Contoh Konsep
print("Ini log biasa")
warn("Ini peringatan, tampil kuning di Output")
-- Menangkap error dengan pcall
local berhasil, hasilAtauError = pcall(function()
local data = game:GetService("DataStoreService"):GetDataStore("SkorPemain")
return data:GetAsync("Pemain1")
end)
if berhasil then
print("Data:", hasilAtauError)
else
warn("Gagal mengambil data: " .. tostring(hasilAtauError))
end
Praktikum
Bungkus pemanggilan fungsi yang mungkin error (misalnya membagi angka dengan pembagi yang bisa nol) menggunakan pcall, lalu tampilkan warn kalau gagal dan print hasil kalau berhasil.
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Jangan bungkus seluruh script dengan satu `pcall` besar — bungkus hanya bagian kode yang benar-benar berisiko error, supaya bug lain tidak diam-diam tertelan dan sulit dilacak.