在学习java的时候,发现处理异常非常方便,用try{}catch(Exception e){}可以处理几乎所有的异常,而不需要记住那些异常的名字。
同样oracle pl/sql中有类似的方法来处理异常。具体代码如下:
1.表创建语句:
create table tb_users(
id number(20),
uname varchar2(30),
constraint pk_users_id primary key(id)
);
2.pl/sql
set serveroutput on;
declare
v_id number(20);
v_err_code number;
v_err_info varchar2(200);
begin
select id
into v_id
from tb_users
where id=2;
dbms_output.put_line('id:'||v_id);
Exception
when OTHERS then
v_err_code:=SQLCODE;
v_err_info:=substr(SQLERRM,1,200);
dbms_output.put_line('ora-'||v_err_code||v_err_info);
end;
说明:
1.OTHERS :代表所有异常信息,相当于java中有Exeption
2.SQLCODE:异常编号
3.SQLERRM:异常信息