Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Try catch sta ce vratiti iz ovakve funkcije

[es] :: .NET :: Try catch sta ce vratiti iz ovakve funkcije

[ Pregleda: 2149 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.static.isp.telekom.rs.



+2 Profil

icon Try catch sta ce vratiti iz ovakve funkcije24.11.2010. u 09:32 - pre 163 meseci
Da li ce ovako napisana f-ja da vraca vrednosti iz catch-a ili ce uvek vracati '1' bez obzira i ako pukne?
Code:

 try
            {
                // nesto sto moze da pukne
            }
            catch (DataPortalException ex)
            {                
                if (ex.Message.Length > 50)
                    return -1;
                else
                    return -1;
            }
            catch (Exception ex)
            {                
                if (ex.Message.Length > 50)
                    return -2;
                else
                    return -2;
            }

            return 1;
 
Odgovor na temu

Boris B.
Ljubljana

Član broj: 213615
Poruke: 286
*.zaslon-telecom.si.



+14 Profil

icon Re: Try catch sta ce vratiti iz ovakve funkcije24.11.2010. u 09:56 - pre 163 meseci
Nece uvek vracati 1, vratice vrednost prvog "return"-a na koji naleti, C# return je uvek momentalni izlaz iz metoda. Mozda jedino te buni ako si pre radio u npr. Paskalu gde setovanje Result promenljive ne znaci izlaz iz funkcije.

BTW nadam se da je ovaj "svi putevi vode u Rim" konstrukt (if uslov return -1 else return -1) samo demonstracija a ne i pravi kod.


if it walks like a duck and quacks like a duck, it could be a dragon doing a duck
impersonation.
 
Odgovor na temu

markoco
Marko Coric
PC Plus, C# Developer
Ruma, Vojvodina

Član broj: 96718
Poruke: 63
*.adsl-2.sezampro.yu.



Profil

icon Re: Try catch sta ce vratiti iz ovakve funkcije25.11.2010. u 13:21 - pre 163 meseci
Broj 1 (jedan) ce vracati samo ako try prodje bez greske. A ostalo zavisi od toga koji Exception je "bacen" ... Tj. ako u kodu imas gresku vezanu za "DataPortal" vratice ti -1, a ako je greska globalna vraca ti broj -2.

BTW, kao sto je Boris B. rekao, vratice prvi "return" na koji naidje jer je to komanda za izlazak.
registered Linux user #378994
 
Odgovor na temu

[es] :: .NET :: Try catch sta ce vratiti iz ovakve funkcije

[ Pregleda: 2149 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.