Pengecualian yang diperiksa juga dalam ADA.
(Peringatan, posting ini mengandung kepercayaan yang sangat kuat yang mungkin Anda temui).
Pemrogram tidak suka dan mengeluh, atau menulis kode menelan pengecualian.
Pengecualian yang dicentang ada karena hal-hal tidak hanya gagal berfungsi, Anda dapat melakukan analisis mode / efek kegagalan dan menentukan ini terlebih dahulu.
Membaca file bisa gagal. Panggilan RPC bisa gagal. Jaringan IO bisa gagal. Data bisa salah diformat saat diuraikan.
"Jalan bahagia" untuk kode itu mudah.
Saya kenal seseorang di Universitas yang bisa menulis kode "jalan bahagia". Tak satu pun dari kasus tepi yang pernah bekerja. Saat ini ia mengerjakan Python untuk perusahaan sumber terbuka. Kata Nuff.
Jika Anda tidak ingin menangani pengecualian yang dicentang, apa yang sebenarnya Anda katakan adalah
While I'm writing this code, I don't want to consider obvious failure modes.
The User will just have to like the program crashing or doing weird things.
But that's okay with me because
I'm so much more important than the people who will have to use the software
in the real, messy, error-prone world.
After all, I write the code once, you use it all day long.
Jadi pengecualian yang dicentang tidak akan disukai oleh programmer, karena itu berarti lebih banyak pekerjaan.
Tentu saja, orang lain mungkin menginginkan pekerjaan itu selesai.
Mereka mungkin menginginkan jawaban yang tepat bahkan jika server file gagal / USB stick mati.
Ini adalah kepercayaan aneh dalam komunitas pemrograman bahwa Anda harus menggunakan bahasa pemrograman yang membuat hidup Anda lebih mudah, yang Anda nikmati, ketika pekerjaan Anda adalah menulis perangkat lunak. Pekerjaan Anda adalah memecahkan masalah seseorang, tidak membiarkan Anda terlibat dalam improvisasi Jazz terprogram.
Jika Anda seorang programmer amatir (bukan pemrograman untuk uang), jangan ragu untuk memprogram dalam C # atau bahasa lain tanpa pengecualian. Heck, hentikan perantara dan program di Logo. Anda bisa menggambar pola-pola cantik di lantai dengan kura-kura.