package main

import (
	"errors"
	"fmt"
)

// ErrKoneksiTertutup dibuat sekali di level package.
var ErrKoneksiTertutup = errors.New("koneksi sudah tertutup")

func bacaBaris(aktif bool, panjang int) (string, error) {
	if !aktif {
		return "", ErrKoneksiTertutup
	}
	if panjang > 4096 {
		return "", fmt.Errorf("panjang %d melebihi batas 4096", panjang)
	}
	return "baris contoh", nil
}

func main() {
	teks, err := bacaBaris(false, 100)
	fmt.Printf("teks=%q err=%v\n", teks, err)

	teks, err = bacaBaris(true, 8192)
	fmt.Printf("teks=%q err=%v\n", teks, err)

	teks, err = bacaBaris(true, 128)
	fmt.Printf("teks=%q err=%v\n", teks, err)

	a := errors.New("format berkas rusak")
	b := errors.New("format berkas rusak")
	fmt.Println("kesamaan nilai:", a == b)
	fmt.Println("kesamaan pesan:", a.Error() == b.Error())
}
