Переместите условие для проверки no_data_found
в блок исключений.
Кроме того, вы можете использовать только номер ошибки в диапазоне от -20000
до -20999
declare
s1 emp.sal%type;
begin
select sal into s1 from emp where ename='SOMDUTT';
if s1 > 10000 then
raise_application_error(-20002, 'somdutt is earing a lot');
end if;
update emp set sal=sal+500 where ename='SOMDUTT';
EXCEPTION
when no_data_found then
raise_application_error(-20001, 'somdutt is not there');
end;
/