Answer Posted / harinadh bolisetti
PL/SQL allows developers to define their own exceptions.
User can define the error/exception programmatically based on the business rule.
1. Define Exception
---------------------
We need to define the exception before we raise and handle. User Exceptions are defined using keyword EXCEPTION in declaration section of the block.
The syntax is as follows
<exception_name> EXCEPTION ;
2. Raise the Exception
--------------------------
Once the exceptions are defined , they need to be raised anywhere in the body depending upon predefined logic. User exceptions are raised using the keyword RAISE.
Syntax is as shown below
RAISE <exception_name>
3. Handle the Exception.
--------------------------
User exception are handled in the same way predefined exceptions are handled. They are handled in exception block using WHEN .. THEN keyword
Syntax is as shown below
WHEN <exception_name> THEN
example
----------------
DECLARE
low_sal EXCEPTION;
min_sal NUMBER:= 10000;
new_sal NUMBER:= 8000;
BEGIN
INSERT INTO EMP_EXC_DEMO(EMPNO, DEPTNO, SAL)
VALUES (4000,20,new_sal);
IF new_sal < min_sal THEN
RAISE low_sal;
END IF;
commit;
EXCEPTION
WHEN low_sal THEN
Rollback;
DBMS_OUTPUT.PUT_LINE ('Salary is less than '||min_sal);
WHEN OTHERS THEN
DBMS_OUTPUT.PUT_LINE (SQLERRM);
END;
| Is This Answer Correct ? | 2 Yes | 0 No |
Post New Answer View All Answers
What are the advantages of stored procedure?
how to show all tables with 'mysql'? : Sql dba
What is the difference between Union and Union all. Which is faster.
Explain the steps needed to create the scheduled job?
what happens if you no create privilege in a database? : Sql dba
What is sqlerrm?
Explain select statements in sql?
How can one get sql*loader to commit only at the end of the load file? : aql loader
What are the indexing methods?
Is there a 64 bit version of ssms?
What is java sql drivermanager?
what is the difference between $message and $$message? : Sql dba
What is left inner join in sql?
How can you get sql*loader to commit only at the end of the load file? : aql loader
What is numeric function sql?