Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Nije mi jasno kako kompajler radi sa try ,catch, finally...kojim redom ide

  • 2 odgovora
  • 3.099 pregleda

Najnovija ↓

Nije mi jasno kako kompajler radi sa try ,catch, finally...kojim redom ide 16.04.2012. u 00:04 · pre 177 meseci
izmenjeno 1 put, poslednji put Aleksandar Ružičić 17.04.2012. u 23:51
  1. Aleksandar Ružičić17.04.2012. u 23:51zapis iz teksta poruke
#1
Molim vas recite mi sa se ispisuje na ekranu i objasnite mi korak po korak kako radi kod ...
Code (csharp):

try
{
string naziv = "FON";
try
{
int broj = Convert.ToInt32(naziv);
Console.Write(7);
}
catch (DivideByZeroException)
{
Console.Write(6);
}
catch (Exception)
{
Console.Write(5);
}
finally
{
Console.Write(4);
}
Console.Write(3);
}
catch (FormatException)
{
Console.Write(2);
}
finally
{
Console.Write(1);
}
 
Re: Nije mi jasno kako kompajler radi sa try ,catch, finally...kojim redom ide 18.04.2012. u 10:20 · pre 176 meseci #2
Ispisuje se 5 4 3 1 :)

Linija 6 baca Format Exception: int broj = Convert.ToInt32(naziv);
Ne izvršava se linija 7 zbog pomenute greške: Console.Write(7);
Nego se ide na neki od unutrašnjih catch blokova.
Linija 9 se preskače pošto greška nije tog tipa: catch (DivideByZeroException)
Linija 13 se izvršava jer catch (Exception) hvata sve greške
Finally blok na liniji 17 se uvek izvršava bez obzira da li je prethodno bačena greška ili ne: finally { Console.Write(4); }
Kod se normalno izvršava na liniji 21 jer je greška već obrađena u unutrašnjem try/catch bloku: Console.Write(3);
Linija 23 se neće izvršiti jer je greška već obrađena u unutrašnjem try/catch bloku: catch (FormatException) { Console.Write(2); }
Poslednji finally blok se uvek izvršava bez obzira da li je bilo greške ili ne: finally { Console.Write(1); }

Jasnije?
Potpis
gramatika srpskog jezika
testovi iz srpskog jezika
jezičke nedoumice
Sviđa mi se1
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme