Menu
CoddyTech

Interface `error`

Termasuk bagian Dasar-Dasar dalam perjalanan GO di Coddy. Pelajaran 103 dari 109.

Di Go, interface error adalah tipe bawaan yang merepresentasikan kondisi error. Tipe apa pun yang mengimplementasikan method Error() memenuhi interface ini.

Berikut definisi interface error:

type error interface {
    Error() string
}

Buat tipe error kustom:

type MyError struct {
    Message string
}

func (e MyError) Error() string {
    return e.Message
}

func main() {
    err := MyError{Message: "something went wrong"}
    fmt.Println(err)
}

Outputnya adalah:

something went wrong
challenge icon

Tantangan

Mudah

Dalam tantangan ini, kamu akan menggunakan interface error milik Go. Kamu perlu membuat error khusus menggunakan fungsi errors.New(), lalu memeriksa apakah ada error.

Kode ini sudah memiliki fungsi yang mengembalikan error. Tugasmu adalah memeriksa apakah error tersebut bukan nil dan mencetak pesan yang sesuai.

Coba sendiri

package main

import (
	"errors"
	"fmt"
)

func main() {
	// Fungsi ini mengembalikan error
	err := generateError()
	
	// TODO: Periksa apakah err bukan nil
	// Jika err bukan nil, cetak: "Error occurred: " diikuti pesan error
	// HINT: Gunakan pernyataan if untuk memeriksa apakah err != nil
	
	
	// Baris ini tetap dijalankan, baik terjadi error maupun tidak
	fmt.Println("Program completed successfully")
}

// Fungsi ini menghasilkan error
func generateError() error {
	return errors.New("something went wrong")
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Go online