Novo

Forum kao aplikacija na telefonu

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

  • 5 odgovora
  • 3.551 pregleda

Najnovija ↓

Try..Catch vs If... 30.12.2008. u 17:03 · pre 217 meseci #1
Jeli bolje što se tiče performanca koristit try...catch...blok ili vršitit provjeru sa if.
Recimo ako nekoliko puta po neodređenoj putanji prolazim kroz neki 2d niz i treba postaviti svaki susjedni (lijevi, desni, gornji, donji ) na neku vrijednost i sad treba paziti da ne iziđem izvan granica niza. Jeli bolje izostaviti provjeru sa if i sve staviti u try...catch...blok pa kad se desi "index out of rang" da program normalno nastavi dalje, samo ne obavi operaciju ( kao da je naišao na if...)
Re: Try..Catch vs If... 30.12.2008. u 19:37 · pre 217 meseci #2
Sto se tice C++, ja sam radio dosta i previse ovakvih stvari i znam da nikad nisam radio sa try blokom, vjerovatno zato sto se kod mora budziti jer C++ po defaultu nakon odradjene catch rutine iskace iz programa. Npr. Java je takva da jednostavno moras koristiti try blok, zato se pribjegava pisanju sto manjih f-ja u kojima moze da se baci exception. Pa vidi, mozda moze da ti pomogne takav pristup...
Potpis
I ♥ ♀

Ovaj post je zlata vrijedan!
Re: Try..Catch vs If... 01.01.2009. u 05:55 · pre 217 meseci #3
I ja delim icobh - ovo misljenje
Zna se sta sluzi za sta ... if je za proveru a try / catch za izbegavanje gresaka (a ne posla)
A i if radi brze
Potpis
HomePage http://www.eurora3d.com
Re: Try..Catch vs If... 01.01.2009. u 12:43 · pre 217 meseci
izmenjeno 1 put, poslednji put X Files 01.01.2009. u 12:58
  1. X Files01.01.2009. u 12:58zapis iz teksta poruke
#5
Citat:

Jeli bolje izostaviti provjeru sa if i sve staviti u try...catch...blok pa kad se desi "index out of rang"


"Index out of range" je poruka koja se dobija obicno od nekog konkretng frameworka, kada indeks izadje van dozvoljenih okvira. To je poslednja linija odbrane.

Implementira se tipicno preko if provere (u samom frameworku) i bacanja izuzetka:
Code:

if ( nesto_nedozvoljeno )
   baci_izuzetak();


Dakle, ako se odlucis za try/catch, imas sledecu situaciju:
1. if test (frameworka)
2. bacanje izuzetka (frameworka)
3. hvatanje izuzetka (tvoja aplikacija)

Ako se odlucis za if, imas sledecu situaciju:
1. if test (tvoja aplikacija)

Vise je nego ocigledno sta je brze i bolje, mada ti je vec to i receno.

try/catch se vise koristi kada je u bloku nesto sto se tesko ili nikako ne moze kontrolisati (ispitati) ili bi prethodna ispitivanja bila isuvise glomazna, nezgrapna, spora, nepotpuna i sl. Tada obavezno vrsim upis u log fajl da bih video sta se tacno desava.



BTW: Kad sam prvi put procitao ovo pitanje, video sam "sta je bolje, switch ili if"... eh sta je mozak... cita ono sto ocekuje da pise...
Re: Try..Catch vs If... 01.01.2009. u 18:35 · pre 217 meseci
izmenjeno 1 put, poslednji put Eurora3D Team 02.01.2009. u 02:41
  1. Eurora3D Team02.01.2009. u 02:41zapis iz teksta poruke
#6
I obrati paznju na ovo sto ti je napisao Shadowed
U tvom slucaju : postavi iteraciju od start + 1 do kraj - 1 (uslov da imas bar 3 elementa) i proveravaj index -1 , index , index +1 (tako i uspravno u 2d nizu)
Ovo je najlogicnije resenje ako znas kolika je matrica
Potpis
HomePage http://www.eurora3d.com
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme