1 / 14

EKSEPSI

EKSEPSI. Dikompilasi Oleh : Ary Bima Kurniawan ST., MT. Pendahuluan. Blok Eksepsi (exception block) adalah blok yang digunakan untuk menjebak error yang mungkin terdjadi di dalam blok PL/SQL

Download Presentation

EKSEPSI

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. EKSEPSI DikompilasiOleh : AryBimaKurniawan ST., MT.

  2. Pendahuluan • Blok Eksepsi (exception block) adalah blok yang digunakan untuk menjebak error yang mungkin terdjadi di dalam blok PL/SQL • Eksepsi (exception) merupakan jenis-jenis error yang menyebabkan terhentinya program secara tidak normal

  3. Tujuan dan Jenis • Tujuan Blok Eksepsiadalahmenangani error-error yang telahdidefinisikanmenjadisebuaheksepsisehinggameskipunterdapat error, error tersebuttidakakanditampilkanmelainkandilemparkebagianeksepsi • JenisEksepsi : • Pre-defined exception • User-defined exception

  4. Bentuk Umum Eksepsi EXCEPTION WHEN eksepsi_pertama THEN statemen_utk_mengatasi_eksepsi_pertama; WHEN eksepsi_kedua THEN statemen_utk_mengatasi_eksepsi_kedua; ... WHEN OTHERS THEN statemen_utk_mengatasi_eksepsi_lainnya; END;

  5. Pre-defined Exception • Adalah sebuah eksepsi yang telah didefinisikan atau sudah tersedia dalam Oracle, sehingga dapat langsung menggunakan tanpa harus membuatnya terlebih dahulu

  6. Contoh 1, Tanpa blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); END; / Hasil yang munculdilayar: ORA-01476 : divisior is equal to zero

  7. Contoh 1, Dengan blok eksepsi SET SERVEROUTPUT ON DECLARE X INTEGER; Y NUMBER; BEGIN X := 0; Y := 1 / X; DBMS_OUTPUT.PUT_LINE(‘Nilai Y = ‘ || TO_CHAR(Y)); EXCEPTION WHEN ZERO_DEVIDE THEN DBMS_OUTPUT.PUT_LINE(‘Terjadikesalahankarenaterdapat ‘ || ‘pembagiandengan 0 (NOL) ‘); END; /

  8. Contoh 2, Tanpa blok eksepsi SET SERVEROUTPUT ON DECLARE X NUMBER; BEGIN X := ‘Budi Raharjo’; DBMS_OUTPUT.PUT_LINE(‘Nilai X = ‘ || TO_CHAR(X) ); END; / Hasil yang munculdilayar : ORA-06502: PL/SQL: numeric or value error

  9. Contoh 2, Dengan blok eksepsi SET SERVEROUTPUT ON DECLARE X NUMBER; BEGIN X := ‘Budi Raharjo’; DBMS_OUTPUT.PUT_LINE(‘Nilai X = ‘ || TO_CHAR(X) ); EXCEPTION WHEN VALUE_ERROR THEN DBMS_OUTPUT.PUT_LINE(‘Pengisiannilaitidaksesuaidengan ‘ || ‘tipevariabel’); END; /

  10. User-defined Exception Untukmembuatsebuaheksepsi, diperlukan : • Variabelbertipe EXCEPTION • Dihubungkandengantipe PRAGMA EXCEPTION_INIT • Kode error harusnegatif (-) • BentukUmum : DECLARE nama_eksepsi EXCEPTION; PRAGMA EXCEPTION_INIT (nama_eksepsi, kode_error);

  11. Contoh tanpa eksepsi SET SERVEROUTPUT ON DECLARE X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; END; / Hasil yang tampildilayar : ORA-01445: Cannot select ROWID from view of more than one table

  12. Contoh dengan eksepsi SET SERVEROUTPUT ON DECLARE eksepsiku EXCEPTION; PRAGMA EXCEPTION_INIT(eksepsiku, -10445); X ROWID; BEGIN SELECT ROWID INTO X FROM ALL_VIEWS; EXCEPTION WHEN eksepsiku THEN DBMS_OUTPUT.PUT_LINE(‘KESALAHAN : Tidakdapat ‘ || ‘menampilkan ROWID daribeberapatabelatau view’); END; /

  13. Pustaka • Pemrograman PL/SQL ORACLE • Imam Heryanto dan Budi Raharjo • Penerbit Informatika Bandung • 2003

More Related