Jump to content
php.lv forumi

Recommended Posts

Posted

Pec manuala sanak ka nevar un shitais http://www.php.net/manual/en/language.exceptions.php#74854 variants ar nesanca.

Var but ir kads hack, ka lai isauc exeption'u ieksh __destruct'ra?

vai

Labak uzrakstit savu erroru keraju?

Posted

Man šāds kods:

<?php
 class KLASE
 {
function __construct()
{
  echo "konstruktors\n";
}

function __destruct()
{
  echo "pirms throw\n";
  throw new Exception("exceptions");
  echo "peec throw\n";
}
 }

 $x = new KLASE();
 try
 {
echo "pirms null\n";
$x = null;
echo "peec null\n";
 }
 catch (Exception $e)
 {
echo "Nokjerts: " . $e->getMessage() . "\n";
 }

?>

Izdrukā tieši to, ko gaidīju:

konstruktors
pirms null
pirms throw
Nokjerts: exceptions

 

Tu laikam pārprati manuāli - gan jau, ka tur ir domāts, ka nedrīkst mest exceptionu, ja neviens to nenoķers. Tāpēc, ja tev ir apkārt catch, tad viss būs ok.

Posted
Labak uzrakstit savu erroru keraju?

catch-i priekš tā arī domāti lai ķertu Exception-us un nepieļaut programmas "izlidojumus"/neparedzētus gājienus

Posted (edited)

Tik tiesham to var izdarit, man bija kluda un php radija ka vinsh nekada veida nevar izpildit throw, tapec ta radija, bet tagad ir otra problema, palaizot kaut vai bubu doto scriptu uz lokala servera man rada file transfering, tas ir page pie parlades sakuma aiziet lidz kaut kur 30%, tad pastav kadas 1-2sec un tad aiziet uzreizs lidz galam (lapa ieladeta), kas var but par problemu.

 

ka tas izskatas

Edited by cucumber
Posted

Es to skriptu manā postā nelaidu no webservera. Es to laidu konsolē: php.exe fails.php. Varbūt tomēr no webservera nevar mest exeptionus kā pagadās destruktorā... nez. Slinkums webserveru instalēt.

×
×
  • Create New...