Consider the following Ada program:
Procedure P is
BAD-FORMAT: exception
Procedure Q is
begin
...
if S/='b' then
raise BAD-FORMAT
end if;
...
end Q;
Procedure R is
begin
Q;
exception when BAD-Format
=> ... handler body 1
end R;
begin
R;
Q;
exception when BAD-FORMAT
=> ... handler body 2
end P;
Under what conditions are the two handler bodies $1$ and $2$ executed?