with Remote_Global;
use Remote_Global;
package body Except_Pack_4 is -- compare to E000003, diff is propegation
    procedure Proc_4 (Switch : Boolean) is
    begin
        Proc_3 (Switch);
    end Proc_4;

    procedure Proc_3 (Switch : Boolean) is
    begin
        Proc_2 (Switch);
    end Proc_3;

    procedure Proc_2 (Switch : Boolean) is
    begin
        Proc_1 (Switch);
    end Proc_2;

    procedure Proc_1 (Switch : Boolean) is
    begin
        Global := Global + 1;
        Remote;
        if Switch then
            raise My_Exception;
        else
            return;
        end if;
    end Proc_1;
end Except_Pack_4;