Autor | Zpráva | ||
---|---|---|---|
ondra256 Profil |
Mám 2 funkce
class Zkusebni{ function A(){ try{ $this->B(); }catch{Exception $e){ print "vyjimka"; } } function B(){ // neco dela a kdy se nepodari chci aby vyhodilo vyjimku, ktera by se dala odchytavat ve funkci A } } víte někdo jak dodělat funkci B? Umožňuje to vůbec jazyk php? |
||
juriad Profil |
#2 · Zasláno: 25. 7. 2014, 08:54:45
throw new Exception(); |
||
Mike8748 Profil |
#3 · Zasláno: 25. 7. 2014, 08:57:46
function B(){ // neco udelej if ($nepovedlo_se) throw new Exception("neco se nam nepovedlo"); // pokud se to nepovede vyhodit vyjimku } |
||
ondra256 Profil |
#4 · Zasláno: 25. 7. 2014, 08:58:45 · Upravil/a: ondra256
juriad, juriad:
když to tak udělám tk to vyhazuje výjimku ve funkci B, ale já chci aby to vyhodilo tu výjimku ven, tak abych ji odchytaval až ve funkci A. v javě by ta funkce B vypadala asi takto function B() throws Exception{ // neco udelej if ($nepovedlo_se) throw new Exception("neco se nam nepovedlo"); // pokud se to nepovede vyhodit vyjimku } |
||
joe Profil |
#5 · Zasláno: 25. 7. 2014, 09:03:39
Tak místo
print "vyjimka"; napíšeš throw $e; , čímž pošleš vyjímku dál.
|
||
juriad Profil |
#6 · Zasláno: 25. 7. 2014, 09:04:42
Vždyť ano, vyhodí ji ven a ty ji zachytíš ve funkci A.
V PHP je to stejně jako v javě, jen se nedeklarují vyhazované výjimky v hlavičce funkce. Jako by byly všechny výjimky RuntimeException. |
||
Časová prodleva: 10 let
|
0