procedure Essai10D is
I : Integer := 0;
task type T_TskLesVilaines;
task type T_TskLesAutres;
task body T_TskLesVilaines is
J : Integer := 3 / I;
begin -- T_TskLesVilaines
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;
PtrLesVilaines : T_PtrTskLesVilaines;
PtrLesAutres : T_PtrTskLesAutres;
begin -- Essai10D
for I in 1..2 loop
PtrLesAutres
:= new T_TskLesAutres;
PtrLesVilaines := new
T_TskLesVilaines;
end loop;
exception
when Tasking_Error =>
Put_Line ("Tache cadre
: Tasking_Error");
when others =>
Put_Line ("Tache cadre
: exception inattendue");
end Essai10D;