package main

import (
	"fmt"
	"os"
)

func main() {
	// Pola idiomatik: fungsi run mengembalikan exit code,
	// os.Exit dipanggil hanya sekali di main.
	os.Exit(run(os.Args[1:]))
}

func run(args []string) int {
	// Kesalahan pemakaian (usage): exit code 2.
	if len(args) < 1 {
		fmt.Fprintln(os.Stderr, "pemakaian: catat <pesan>")
		return 2
	}

	pesan := args[0]
	if pesan == "kosong" {
		// Kesalahan umum saat proses berjalan: exit code 1.
		fmt.Fprintln(os.Stderr, "galat: pesan tidak boleh kosong")
		return 1
	}

	fmt.Println("tercatat:", pesan)
	return 0
}
