public class PropagasiTertangkap {
    static int hitungDiskon(int harga, int persen) {
        int diskon = harga * persen / 100;
        if (diskon < 0) {
            throw new IllegalArgumentException("persentase tidak sah: " + persen);
        }
        System.out.println("hitungDiskon selesai"); // terlewati saat exception terbang
        return diskon;
    }

    static int prosesItem(int harga, int persen) {
        return hitungDiskon(harga, persen);
    }

    static void jalankanTransaksi() {
        int diskon = prosesItem(50000, -10);
        System.out.println("diskon: " + diskon);
    }

    public static void main(String[] args) {
        try {
            jalankanTransaksi();
        } catch (IllegalArgumentException e) {
            System.out.println("tertangkap di main: " + e.getMessage());
        }
        System.out.println("program berlanjut");
    }
}
