Jobsheet - Error Handling Exceptions
Jobsheet - Error Handling Exceptions
Berikut ini kita akan mencoba mempraktekkan perbedaan dengan menggunakan blok eksepsi
dengan yang tidak menggunakan blok eksepsi.
Petunjuk Praktikum:
Praktikum 1 :
SET SERVEROUTPUT ON
DECLARE
nama employees.last_name%type;
BEGIN
SELECT last_name INTO nama FROM employees
WHERE employee_id = 309;
DBMS_OUTPUT.PUT_LINE ('nama');
END;
Praktikum 2 :
SET SERVEROUTPUT ON
DECLARE
nama employees.last_name%type;
BEGIN
SELECT last_name INTO nama FROM employees
WHERE employee_id = 309;
DBMS_OUTPUT.PUT_LINE ('nama');
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE ('TIdak Ditemukan Datanya dalam Database');
END;
Praktikum 3 :
DECLARE
empno NUMBER;
BEGIN
SELECT employee_id INTO empno FROM employees ;
DBMS_OUTPUT.PUT_LINE(empno);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Data Tidak Ditemukan');
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE('Terjadi Error yang Lain');
END;
Praktikum 4 :
declare
exep_lebih exception;
v1 number:='&v1';
v2 number:=99;
begin
if v1 > v2 then
raise exep_lebih;
else
dbms_output.put_line('volume masih bisa menampung');
end if;
exception
when exep_lebih then
dbms_output.put_line('volume '||v1||'lebih dari '|| v2);
when others then
dbms_output.put_line('volume tidak bisa menampung');
end;
Praktikum 5 :
SET SERVEROUTPUT ON
DECLARE
kebanyakan EXCEPTION;
PRAGMA EXCEPTION_INIT(kebanyakan, -01422);
emp employees.employee_id%type;
BEGIN
SELECT employee_id INTO emp FROM Employees;
DBMS_OUTPUT.PUT_LINE(EMP);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Hasil tidak ditemukan');
END;
Praktikum 6 :
SET SERVEROUTPUT ON
DECLARE
name VARCHAR2(100);
sal NUMBER;
BEGIN
SELECT last_name, salary INTO name, sal FROM employees WHERE employee_id =
120;
DBMS_OUTPUT.PUT_LINE(name||' '||sal);
END;
Praktikum 7 :
declare
v_pembagi number:='&v_pembagi';
v_hasil number:=1000;
begin
v_hasil:=v_hasil/v_pembagi;
dbms_output.put_line(v_hasil);
exception
when zero_divide then
dbms_output.put_line('dibagi dengan nol');
end;