Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Apa keuntungan menggunakan try {} catch {} versus if {} else {}

Saya akan menggunakan blok coba/tangkap ketika jalur normal melalui kode harus dilanjutkan tanpa kesalahan kecuali benar-benar ada beberapa kondisi luar biasa - seperti server sedang down, kredensial Anda kedaluwarsa atau salah. Saya tidak perlu menggunakannya untuk menangani kesalahan yang tidak luar biasa - katakan seperti pengguna saat ini tidak berada dalam peran yang benar. Artinya, ketika Anda dapat secara wajar mengharapkan dan menangani kesalahan yang bukan merupakan kondisi luar biasa, saya pikir Anda harus melakukan pemeriksaan.

Dalam kasus yang telah Anda jelaskan -- menyiapkan dan menjalankan kueri, blok coba/tangkap adalah cara terbaik untuk menanganinya seperti yang biasanya Anda harapkan kueri berhasil. Di sisi lain, Anda mungkin ingin memeriksa bahwa konten hasil adalah apa yang Anda harapkan dengan logika aliran kontrol daripada hanya mencoba menggunakan data yang mungkin tidak valid untuk tujuan Anda.

Satu hal yang ingin Anda perhatikan adalah penggunaan try/catch yang ceroboh. Coba/tangkap tidak boleh digunakan untuk melindungi diri Anda dari pemrograman yang buruk -- "Saya tidak tahu apa yang akan terjadi jika saya melakukan ini, jadi saya akan membungkusnya dengan coba/tangkap dan berharap yang terbaik" dari pemrograman. Biasanya Anda ingin membatasi jenis pengecualian yang Anda tangkap ke pengecualian yang tidak terkait dengan kode itu sendiri (server mati, kredensial buruk, dll.) sehingga Anda dapat menemukan dan memperbaiki kesalahan yang terkait kode (pointer nol, dll.) .).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mysql secara dinamis membangun string kueri dalam prosedur tersimpan berdasarkan logika

  2. Bagaimana cara menghubungkan database MySql dengan Firebase?

  3. Bagaimana saya bisa mengimpor file JSON ke database MySQL, menggunakan kueri sederhana, tanpa benar-benar mengonversinya ke format file lain seperti CSV dll.?

  4. Masukkan sejumlah besar variabel ke dalam tabel menggunakan PDO

  5. Mengapa DBI secara implisit mengubah bilangan bulat menjadi string?