http://www.adaconcept.com/programs/kivetelkezeles.adb
--Rotter Gyorgy
--kivetelkezelest mutato program (kiegeszites)

with Ada.Text_IO;
with Ada.Exceptions;                    --nem muszaly, csak van ilyen is....

use Ada.Text_IO;

procedure kivetelkezeles is
    
   sajat_kivetel:exception;             --|nonlokalis/globalis delkaracio (a befoglalt blokkra nezve), hogy 
                                        --|ott is "lathato" legyen, ahol kezeljuk/elkapjuk a kivetelt, ne csak ott, ahol kivaltjuk/dobjuk 
   
   procedure HibasProgramegyseg is      --ez barmilyen programegyseg lehetne (fv, csomag...)
   begin
      
      --itt ha olyan eset all elo, ahol kivetelt szeretnenk dobni, akkor azt igy tesszuk meg
      raise sajat_kivetel;   

       --akar mar itt meg is foghatnank...

   end HibasProgramegyseg;
   

begin
   Ada.Text_IO.Put_Line("Program indul");
   
   begin
      HibasProgramegyseg; 
  
   exception
      when s:sajat_kivetel => put_line("elkaptuk a kivetelt a hivoban!   "& Ada.Exceptions.Exception_Name(s)& "  " 
                                                                          & Ada.Exceptions.Exception_Message(s));
                              put_line(Ada.Exceptions.Exception_Information(s));
      --when others => null;            --ez az ag mindig az utolso legyen!!! ("mindent elkap")
   end;

   Ada.Text_IO.Put_Line("Program vege");
end kivetelkezeles;