| 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: 12 let
|
|||
0