Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Pengantar Penanganan Pengecualian PL/SQL Di Database Oracle

Kami tidak dapat mengatakan bahwa kode tersebut kuat sampai dapat menangani semua pengecualian. Bug dan penghentian program secara tiba-tiba adalah mimpi buruk dalam kehidupan seorang programmer. Tidak ada programmer yang ingin mengembangkan kode yang akan mogok di tengah jalan atau berperilaku tidak terduga. Jadi untuk kelancaran eksekusi perangkat lunak, perlu menangani semua jenis pengecualian.

Mengetahui masalah Anda adalah langkah pertama untuk menemukan solusinya. Jadi, mari pelajari lebih lanjut tentang penanganan pengecualian di database Oracle.

Apa itu Pengecualian?

Setiap kondisi abnormal atau peristiwa katakanlah yang mengganggu aliran normal instruksi program Anda pada waktu berjalan adalah pengecualian. Atau dengan kata sederhana, Anda dapat mengatakan bahwa pengecualian adalah kesalahan waktu proses.

Byte Info:
Pengecualian dirancang untuk penanganan kesalahan waktu proses daripada penanganan kesalahan waktu kompilasi. Kesalahan yang terjadi selama fase kompilasi dideteksi oleh kompiler PL/SQL dan dilaporkan kembali ke pengguna.

Jenis pengecualian

Ada dua jenis pengecualian PL/SQL dalam database Oracle.

  1. Pengecualian yang ditentukan sistem dan
  2. Pengecualian yang ditentukan pengguna

Pengecualian yang Ditentukan Sistem

Pengecualian yang ditentukan sistem didefinisikan dan dipelihara secara implisit oleh server Oracle. Pengecualian ini terutama ditentukan dalam paket Oracle STANDARD . Setiap kali pengecualian terjadi di dalam program. Server Oracle mencocokkan dan mengidentifikasi pengecualian yang sesuai dari kumpulan pengecualian yang tersedia.

Pengecualian yang ditentukan sistem sebagian besar memiliki kode kesalahan negatif dan pesan kesalahan. Kesalahan ini memiliki nama pendek yang digunakan dengan penangan pengecualian.

Bite info:
Oracle memanfaatkan dua fungsi utilitas SQLCODE &SQLERRM untuk mengambil kode kesalahan dan pesan untuk pengecualian yang terjadi terakhir.

Pengecualian Buatan Pengguna

Tidak seperti Pengecualian Definisi-Sistem, Pengecualian Definisi-Pengguna dimunculkan secara eksplisit di badan blok PL/SQL (lebih khusus lagi di dalam bagian BEGIN-END) menggunakan Pernyataan RAISE.

Cara Mendeklarasikan Pengecualian Buatan Pengguna di Oracle Database.

Ada tiga cara untuk mendeklarasikan pengecualian yang ditentukan pengguna di Oracle Database.

  1. Dengan mendeklarasikan variabel bertipe EXCEPTION di bagian deklarasi.

Anda dapat mendeklarasikan pengecualian yang ditentukan pengguna dengan mendeklarasikan variabel tipe data PENGECUALIAN dalam kode Anda dan menaikkannya secara eksplisit dalam program Anda menggunakan pernyataan RAISE dan menanganinya di Bagian Pengecualian.

  1. Deklarasikan pengecualian yang ditentukan pengguna menggunakan fungsi PRAGMA EXCEPTION_INIT.

Menggunakan fungsi PRAGMA EXCEPTION_INIT Anda dapat memetakan nomor kesalahan yang tidak ditentukan sebelumnya dengan variabel tipe data EXCEPTION. Berarti menggunakan fungsi yang sama Anda dapat mengaitkan variabel tipe data PENGECUALIAN dengan kesalahan standar.

  1. Metode RAISE_APPLICATION_ERROR.

Dengan menggunakan metode ini, Anda dapat mendeklarasikan pengecualian yang ditentukan pengguna dengan nomor dan pesan kesalahan Anda sendiri yang disesuaikan.

Itu saja untuk bagian ini. Semoga Anda menikmati membaca pengantar singkat tentang penanganan pengecualian di Oracle Database. Di blog ini saya mencoba menjawab beberapa pertanyaan yang dapat Anda harapkan dalam Sertifikasi Database Oracle Anda serta di Wawancara .

Tetap disini karena dalam tutorial berikutnya kami akan melakukan beberapa contoh keren yang menjelaskan konsep yang disebutkan di atas yang akan membantu Anda dalam meningkatkan pengetahuan Anda dan memberi Anda pegangan yang kuat pada konsep penanganan pengecualian PL/SQL. Terima kasih &semoga harimu menyenangkan!


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa memilih kolom yang ditentukan, dan semuanya, salah di Oracle SQL?

  2. Perbedaan antara WITH klausa dan subquery?

  3. Bagaimana cara mengembalikan RefCursor dari fungsi Oracle?

  4. MODIFY COLUMN di Oracle - Bagaimana cara memeriksa apakah suatu kolom dapat dibatalkan sebelum disetel ke dapat dibatalkan?

  5. Oracle SQL plus bagaimana cara mengakhiri perintah dalam file SQL?