Akhir-akhir ini saya telah berjuang untuk memahami apa jumlah pemeriksaan yang tepat dan apa metode yang tepat.
Saya punya beberapa pertanyaan tentang ini:
Apa cara yang tepat untuk memeriksa kesalahan (input buruk, kondisi buruk, dll)? Apakah lebih baik untuk secara eksplisit memeriksa kesalahan, atau menggunakan fungsi seperti pernyataan yang dapat dioptimalkan dari kode akhir Anda? Saya merasa seperti secara eksplisit memeriksa program dengan banyak kode tambahan yang tidak seharusnya dieksekusi dalam kebanyakan situasi - dan belum lagi sebagian besar kesalahan berakhir dengan kegagalan batalkan / keluar. Mengapa mengacaukan fungsi dengan pemeriksaan eksplisit hanya untuk membatalkan? Saya telah mencari konfirmasi versus memeriksa kesalahan secara eksplisit dan menemukan sedikit untuk benar-benar menjelaskan kapan harus melakukan keduanya.
Sebagian besar mengatakan 'gunakan menegaskan untuk memeriksa kesalahan logika dan menggunakan pemeriksaan eksplisit untuk memeriksa kegagalan lainnya.' Ini sepertinya tidak membuat kita terlalu jauh. Apakah kita akan mengatakan ini layak:
Malloc returning null, check explictly
API user inserting odd input for functions, use asserts
Apakah ini akan membuat saya lebih baik dalam memeriksa kesalahan? Apa lagi yang bisa saya lakukan? Saya benar-benar ingin memperbaiki dan menulis kode 'profesional' yang lebih baik.
setjmp
/ longjmp
tersedia dalam C, jadi Anda tidak perlu bahasa baru.