procedure Essai10F is
I : Integer := 0;
task type T_TskLesVilaines;
task type T_TskLesAutres;
task body T_TskLesVilaines is
J : Integer;
begin -- T_TskLesVilaines
J := 3 / I;
Put_Line (S_Identifier
& " : commence");
exception
when others =>
Put_Line (S_Identifier & " : division par zero");
end T_TskLesVilaines;
task body T_TskLesAutres is
begin -- T_TskLesAutres
Put_Line (S_Identifier
& " : commence");
for I in 1..2 loop
Put_Line (S_Identifier & " : continue !!");
delay 1.0;
end loop;
end T_TskLesAutres;
type T_PtrTskLesVilaines is access T_TskLesVilaines;
type T_PtrTskLesAutres is access
T_TskLesAutres;
PtrLesAutres : T_PtrTskLesAutres
:= new T_TskLesAutres;
PtrLesVilaines : T_PtrTskLesVilaines := new
T_TskLesVilaines;
begin -- Essai10F
Put_Line ("Debut de la tache cadre");
-- PtrLesAutres := new T_TskLesAutres;
-- PtrLesVilaines := new T_TskLesVilaines;
exception
when Tasking_Error =>
Put_Line ("Tache cadre
: Tasking_Error");
when others =>
Put_Line ("Tache cadre
: exception inattendue");
end Essai10F;