Pada kesempatan kali ini saya akan membahas tentang Exception. Seebenarnya Exception itu sendiri berbeda untuk setiap bahasa pemograman. Untuk pembahasan sekarang saya akan membahas Exception pada PL/SQL. Bagaimana itu Exception, Cara kerjanya dan yang lain-lain tentang Exception. Silahkan Scroll kebawah untuk melihat lebih detail
Pengertian
Exception atau biasa juga
disebut dengan error handling. Exception adalah suatu mekanisme yang digunakan oleh beberapa bahasa pemograman untuk mendekripsikan apa yang harus dilaukan jika ada suatu kondisi yang tidak diinginkan terjadi. Exception akan terjadi pada setiap kesalahan
(error) atau peringatan (warning) yang muncul karena suatu perintah. Exception
terbagia atas 2 yang pertama exception handler yang artinya bagian yang
ditujukan untuk menangani error . Sedangkan yang kedua adalah exception
handling yaitu bagian yang merupakan mekanisme penanganan exception . Jika
dalam suatu blok tidak terdapat exception makan semua proses akan terhenti
dengan atau tanpa adanya kesalahan.Sebaliknya jika terdapat exception section,
maka semua perintah berikutnya dalam bagian executable section tidak di
eksekusi dan proses akan berpindah ke exception handler.
Cara kerja Exception
Setiap kali exception muncul semua perintah
berikutnya di dalam exectable section tidak di eksekusi dan proses akan berpindah
ke exception handler.
Contoh :
DECLARE
……………..
BEGIN
………………
SELECT NIM INTO vnim FROM MAHASISWA
SELECT NIM INTO vnim FROM MAHASISWA
WHERE
…..
…….
EXCEPTION
WHEN
NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE(‘DATA
TIDAK ADA’);
END;
Bentuk umum dari blok exception adalah :
EXCEPTION
WHEN EXCEPTION1 [OR exception2 [OR . . .]]
THEN
Statement_statement
[WHEN EXCEPTIONA [OR exceptionb [OR . . .]]
THEN
Statement_statement
. . .
[WHEN ONTHERS THEN
Statement-statement]
Beberapa jenis kesalahan umum yang sering
terjadi :
Nama
Exception
|
Kode
error
|
Deskripsi
|
CURSOR_ALREADY_OPEN
|
ORA-06511
|
Membuka
cursor yang sedang
Terbuka
|
DUP_VAL_ON_INDEX
|
ORA-00001
|
Memasukkan
nilai duplikat
Pada
kolom yang unik
|
INVALID_CURSOR
|
ORA-01001
|
Operasi
cursor illegal
|
INVALID_NUMBER
|
ORA-01722
|
Gagal
mengkonversi karakter
Ke
number
|
LOGIN_DENIED
|
ORA-01017
|
Login
dengan username atau
Password
yang salah
|
NO_DATA_FOUND
|
ORA-01403
|
SELECT
INTO statement tidak
Menghasilkan
baris data
|
NOT_LOGGED_ON
|
ORA-01012
|
Mengkases
database tapi tidak terkoneksi
|
PROGRAM_ERROR
|
ORA-06501
|
Terjadi
PL/SQL internal error
|
ROWTYPE_MISMATCH
|
ORA-06504
|
Dalam
suatu penugasan,tipe data cursor, variable dengan PL/SQL cursor tidak cocok
|
STORAGE_ERROR
|
ORA-06500
|
Memori
rusak atau proses membutuhkan memori lebih besar
|
TIMEOUT_ON_RESOURCE
|
ORA-00051
|
Time
out
|
TOO_MANY_ROWS
|
ORA-01422
|
SELECT
INTO statement menghasilkan lebih dari satu baris data
|
VALUE_ERROR
|
ORA-06502
|
Kesalah
operasi aritmetika,konversi,truncate atau batasan rentang nilai
|
ZERO_DEVIDE
|
ORA-01476
|
Membagi
dengan nol
|
User Definied EXCEPTION
Merupakan exception yang dibuat oleh user
dan diaktifkam dengan perintah RAISE
Sintaks:
Identifier EXCEPTION;
Dan dipanggil dengan perintah:
RAISE Identifier;
Unhandled EXCEPTION
Penggunaan kata kunci OTHERS yang digunakan
untuk menampilkan kesalahan dan keterangan pada exception others.Jenis
exception OTHERS ini digunakan untuk menangani semua kesalahan yang tidak
ditangani.Sebaiknya hindari penggunaan exception OTHERS ini dihindari karena
tidak menangani exception yang spesifik.
Contoh
:
Exep_lebih EXCEPTION;
V1 number
:= ‘&v1’;
V2 number
:=99;
BEGIN
If
v1 > v2 then
RAISE
Exep_lebih;
Else
DBMS_OUTPUT.PUT_LINE(‘Volume
masih bias menampung’);
End
if;
EXCEPTION
WHEN
Exep_lebih THEN
DBMS_OUTPUT.PUT_LINE(‘volume
‘ || v1 ||’lebih daro ‘ || v2);
WHEN
OTHERS then
DBMS_OUTPUT.PUT_LINE(‘Volume
tidak bisa menampung’);
END;
Sekian tulisan saya tentang Exception, untuk post selanjutnya saya akan lanjut tentang Exception di beberapa pemograman yang lain. Semoga bermanfaat.
Sekian tulisan saya tentang Exception, untuk post selanjutnya saya akan lanjut tentang Exception di beberapa pemograman yang lain. Semoga bermanfaat.






