bubu Posted October 5, 2007 Report Share Posted October 5, 2007 Ko nozīmē laba pieeja? Tā nav pieeja, tā tas vienmēr ir bijis :) Imho tāpēc, ka 0 ir viena vienīga, visi pārējie skaitļi ir kautkas cits. Un kļūda vai nu nav, vai arī ir kautkāda specifiska. Tāpēc 0 tika izvēlēta par ok stāvokļa paziņošanu. Web projektos īsti ar neredzu, kur to iebāzt, ja nu vienīgi kādu komandrindas tūļu darbībā un palaišanā. Link to comment Share on other sites More sharing options...
andrisp Posted October 5, 2007 Report Share Posted October 5, 2007 Nu laba pieeja kā tāda. Tas jau nekas, ka viņa vienmēr ir bijusi - "pieeja" paliek "pieeja" :). Bet vispār no savas pieredzes izejot, varu teikt, ka šādi būtu ērti darīt, ja ir vajadzīgs pārsēt XML failu, kam jāatbilst speciālam formātam. Tad atkarībā no tā, kas tieši trūkst vai nepareizi nodefinēts, atgriezt attiecīgo ciparu. Link to comment Share on other sites More sharing options...
bubu Posted October 5, 2007 Report Share Posted October 5, 2007 Nūū.. ja tā parsēšana ir kā standalone programma, tad jā. Bet ja tā ir kā funkcija, tad labāk ir throwot exceptionu. Errorkodi ir viena ķēpīga padarīšana. Link to comment Share on other sites More sharing options...
andrisp Posted October 5, 2007 Report Share Posted October 5, 2007 Hmm, nekad tā īsti nopietni neesmu izmantojis try catch konstrukciju. Kā tu to domā - ērtāk ? Vai tad jā es uztaisu throw, tad skripta izpilde neapstājas pilnībā ? Lielākoties jau tas nav vajadzīgs. Link to comment Share on other sites More sharing options...
Delfins Posted October 5, 2007 Report Share Posted October 5, 2007 andrisp, šis jau ir offtopiks. PS: tāpēc arī ir izgudroti, try/catch .. citiem vārdiem - RTFM & examples Link to comment Share on other sites More sharing options...
cucumber Posted October 5, 2007 Author Report Share Posted October 5, 2007 par f-jas vertibu atgriesanu IsLatinSquare(massivs){ parsing... return true; //1 } Ka tad labak nosautk f-ju, ja logiski lasa f-jas nosaukumi, tad sanak atgriezot true ja ir latin,bet ta nav pareiza pieeja? Link to comment Share on other sites More sharing options...
bubu Posted October 5, 2007 Report Share Posted October 5, 2007 Tak es jau augstāk teicu - funkcijai atgriezt boolean true, kad viss ir ok, ir normāli. Īpaši jau tādai funkcijai, kuras vārds saucās Is... Kā tu to domā - ērtāk ? Vai tad jā es uztaisu throw, tad skripta izpilde neapstājas pilnībā ? Lielākoties jau tas nav vajadzīgs. Ērtāk apstrādes ziņā. Ja tev funkcija var nobrukt n-tos dažādos veidos, katrā veidā atgriežot citu kļūdas informāciju, tad nav ērti izmantot n-tos globālos mainīgos/parametrus pēc referencesvai vēl citas dīvainības: try { do_something_very_dangerous($argA, $argB); } catch (InvalidArgumentException $e) { echo "Invalid argument passed ", $e->argument_number; } catch (FileSaveException $e) { echp "Failed to save data to file ", $e->filename, " reason: ", $e->reason; } catch (Exception $e) { echo "Something is really strange... ", $e; } Atliek tikai izmest attiecīgo exceptionu pie kļūdainā nosacījuma iekš funkcijas un visa vadība nonāks tur kur tai jānonāk. C++'ā (un citās dažās valodās) papildus tam tiks korekti rewindots steks iznīcinot uzkonstruētos objektus stekā. Ar error kodiem ir riebīgi vēl tas, ka tie ir jāvelk līdzi no izsauktajām citām funkcijām, ja tās arī var atgriezt kļūdas stāvokli. Link to comment Share on other sites More sharing options...
Recommended Posts