
Penanganan Error
Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover
1Apa interface yang digunakan untuk merepresentasikan error di Go?
Apa interface yang digunakan untuk merepresentasikan error di Go?
Jawaban
Interface error adalah interface bawaan di Go untuk merepresentasikan kondisi error. Interface ini berisi satu metode Error() yang mengembalikan string yang mendeskripsikan error. Nilai nil merepresentasikan tidak ada error. Ini adalah interface konvensional yang digunakan oleh semua paket pustaka standar dan oleh para developer Go untuk memberi sinyal dan menyebarkan error.
2Bagaimana cara membuat error sederhana dengan pesan statis di Go?
Bagaimana cara membuat error sederhana dengan pesan statis di Go?
Jawaban
Fungsi errors.New() dari paket errors membuat error sederhana dengan pesan statis. Ia mengembalikan tipe error yang mengimplementasikan interface error dengan pesan yang diberikan. Pendekatan ini direkomendasikan untuk membuat sentinel error (error bawaan seperti os.ErrNotExist) atau error sederhana tanpa konteks dinamis. Untuk pesan dinamis, gunakan fmt.Errorf().
3Fungsi mana yang memungkinkan pembuatan error dengan pesan yang diformat secara dinamis?
Fungsi mana yang memungkinkan pembuatan error dengan pesan yang diformat secara dinamis?
Jawaban
Fungsi fmt.Errorf() membuat error dengan pesan yang diformat secara dinamis menggunakan verb format (seperti %s, %d, %v). Ia juga mendukung verb khusus %w untuk membungkus error yang ada, sehingga mempertahankan rantai error untuk inspeksi nanti. Ini adalah metode yang direkomendasikan untuk menambahkan konteks pada error sambil mempertahankan error aslinya.
Verb format mana yang memungkinkan pembungkusan error dengan fmt.Errorf()?
Fungsi mana yang memeriksa apakah error yang dibungkus cocok dengan error tertentu?
+17 pertanyaan wawancara
Topik wawancara Go lainnya
Dasar-Dasar Go
Struktur Data Go
Interface Go
Dasar-Dasar Goroutine
Channels
Go Modules
Server HTTP
Klien HTTP
Enkoding JSON
Database/SQL
Paket context
Testing
Pola Concurrency
Primitif Sinkronisasi
Framework web Go
Desain API REST
gRPC
Reflection
Manajemen Memori
Optimasi Performa
Generics
Go Design Patterns
Microservices
Keamanan dan Autentikasi
Docker & Containerization
Kubernetes Basics
Go Tingkat Lanjut
Pengembangan CLI
Kuasai Go untuk wawancara berikutnya
Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.
Mulai gratis