neobsluzena vynimka v jazyku C# (prikazy try, catch)

Programovacie jazyky, rady, poradňa...
MarkMarusin
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 30 apr 2011, 13:42

neobsluzena vynimka v jazyku C# (prikazy try, catch)

Príspevok od používateľa MarkMarusin »

prepisem vam sem jeden strucny text ktoremu by som rad pochopil a preto keby ste mi ho prepisali este strucnejsie a pochopitelnejsie
aby tomu pocopil aj sedliacky rozum mozno by mi pomohhli aj nejake linky na stranky ohladom vynimiek a ich osetrovani
takze co sa stane ked blok try vyvola vynimmku a nebude k nej prisluchat ziaden odpovedajuci blok catch??
napriklad metoda int.Parse vyvola vynimku typu OverflowException ktoru obsluzna rutina catch nezachiti pretoze je urcena len pre vynimku typu FormatException. ak je prikaz try sucastou metody metoda okamzite skonci a riadenie sa vraca do volajucej metody
pokial aj volajuca metoda pouziva blok try pokusi sa behove prostredie vyhladat a spustit odpovedajucu rutinu catch za blokom s tymto try.ak volajuca metoda nepouziva blok try alebo nedefinuje odpovedajucu rutinu catch, bude volajuca metoda okamzite ukoncena a riadenie sa vrati volajucej rutine, kde sa cely proces zopakuje, ked je nakoniec najdena odpovedajuca rutina catch, je spustena a kod potom pokracuje prvim prikazom za rutinou catch v tej metode ktora danu vynimku zachitila.

tento text som nevitrhol s kontextu a je tu v takej podobe ako ma byt len sa s neho neviem vysomarit prosim skuste mi to vysvetlit sedliackymi slovami
diky
axxis
Addict
Addict
Používateľov profilový obrázok
Príspevky: 3690
Registrovaný: 29 máj 2007, 21:53
Bydlisko: Spálené mlyny
Kontaktovať používateľa:

Re: neobsluzena vynimka v jazyku C# (prikazy try, catch)

Príspevok od používateľa axxis »

Znamena to len tolko, ze ak v nejakej metode neodchytis vynimku tak ta je vyhodena do vyssej urovne. (toto "zanorenie" moze byt akokolvek hlboko)- Spusti si toto a uvidis

Kód: Vybrať všetko

class Program
    {
        static void metoda()
        {
            try
            {
                FileStream f = File.OpenRead("d:\\nic");
            }
            catch (DivideByZeroException ex)
            {
                
                
            }
        }

        static void Main(string[] args)
        {

            try
            {
                metoda();
            }
            catch (Exception ex)
            {

                Console.WriteLine("Chytena");
            }

            Console.WriteLine("Prvy prikaz za odchytenou vynimkou");
        }
    }
MarkMarusin
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 135
Registrovaný: 30 apr 2011, 13:42

Re: neobsluzena vynimka v jazyku C# (prikazy try, catch)

Príspevok od používateľa MarkMarusin »

diky uz mi je to cele naprosto jasne :D
Napísať odpoveď