Исключения

dykee
Дата: 18.10.2015 16:34:50
Значит была работа с циклами и надо было описать функцию вот ее код:
create or replace procedure laba5_1_1 (a  number, b  number) is

x number;
N number;

r float;

begin

x:=a;
N:=b;
if N>=7
  then dbms_output.put_line('error');
  elsif N=-3
    then dbms_output.put_line('Nelzya delit na 0 v pl/sql');
    else
      GOTO st;
end if;

<<st>>
while x>=20 and x<=30 loop
  x:=x+0.1;
r:=sqrt(x-N)/(N+3);
dbms_output.put_line('Otvet:'|| r);


end loop;
end laba5_1_1;

Какие здесь можно придумать еще исключения кроме ZERO_DIVIDE ?
dykee
Дата: 18.10.2015 17:41:33
dykee,
Ребята не могу понять как мне воплотить в жизнь это исключение?? Все время ошибка что мол не там стоит, я уже не знаю куда его ставить или как его делать?? Объясните пожалуйста




create or replace procedure laba7_1 (a  number, b  number) is

x number;
N number;

r float;

begin

x:=a;
N:=b;
if N>=7
  then dbms_output.put_line('error');
  elsif N=-3
    then raise ;
    else
      GOTO st;
end if;



<<st>>
while x>=20 and x<=30 loop
  x:=x+0.1;
r:=sqrt(x-N)/(N+3);
dbms_output.put_line('Otvet:'|| r);
  exception
     when ZERO_DIVIDE then dbms_output.put_line('Error!
Division by zero');
end;       
end loop;

end laba7_1;
mcureenab
Дата: 18.10.2015 17:51:05
слово exception это необязательная часть блока declare/as/is ... begin ... exception ... end;

declare
  ....
begin
   bla_bla_bla;
   ....
exception
  when ... then ...
end;

если нужно обработать исключение в цикле, воткни begin - end в цикл.
dykee
Дата: 18.10.2015 18:02:57
mcureenab,
Простите но не могли б вы реализовать мое задание так как у меня еще 2 таких задания что б я по примеру сделал?