No me funciona la excepcion ????

tema enviado por aleli en SQL
tema iniciado el 23/02/2009

Ahi va un PL simple donde QUIERO que me salga la excepcion (usa LOOP). La meto la excepcion por todos lados pero no hay caso ! El valor 999 no existe y deberia salir el display ' Reg.NO hallados '. Gracias x la respuesta

declare
    vval number (15);
begin
    for g in ( select valor into vval
                 from   t_total
                 where valor = 999)
    LOOP
       BEGIN
          dbms_output.put_line (' Reg.SI hallados ');
          
       EXCEPTION
           when no_data_found then
             dbms_output.put_line (' Reg.NO hallados ');
           WHEN OTHERS THEN
             dbms_output.put_line (' Reg.NO hallados ');
       END;
     
    END LOOP;
      
exception
      when no_data_found then
             dbms_output.put_line (' Reg.NO hallados ');
      WHEN OTHERS THEN
             dbms_output.put_line (' Reg.NO hallados ');
end;