Itu sepenuhnya tergantung pada apa yang sedang dilakukan.
Pertama, apa perilaku aktual yang Anda inginkan? Jika seseorang memasukkan informasi mereka sendiri, maka penolakan dan kotak dialog yang mengatakan, pada dasarnya, "Anda tidak bisa melakukan itu" mungkin benar. Jika ini adalah orang entri data, bekerja dari tumpukan formulir, kotak dialog mungkin juga bagus, dan orang entri data dapat meletakkan formulir yang tidak valid di tumpukan khusus. Jika Anda melakukan pemrosesan batch, Anda tidak ingin menghentikan semuanya, tetapi beri tanda dan pindah ke yang berikutnya.
Setelah Anda memiliki perilaku, Anda perlu memutuskan bagaimana Anda akan menerapkannya. Memiliki pemeriksa aturan bisnis yang melempar pengecualian mungkin merupakan ide yang bagus. Mengembalikan kode pengembalian dan meneruskannya adalah hal lain yang bisa salah, dan Anda tentu tidak ingin entri yang salah semakin jauh.
Jangan khawatir tentang biaya kinerja. Dalam hal seseorang memasukkan data, itu sepele dibandingkan dengan waktu lain yang terlibat. Biasanya, manusia akan mengambil waktu paling banyak dalam sistem itu. Dalam kasus pekerjaan batch, jika pengecualian adalah masalah kinerja, Anda memasukkan terlalu banyak catatan buruk, dan dalam kenyataannya menangani dan memasukkan kembali semua itu akan menjadi lebih banyak masalah daripada pengecualian.