Autor | Zpráva | ||
---|---|---|---|
mila Profil |
#1 · Zasláno: 31. 5. 2006, 13:33:45
Existuje nějaký jednoduchý způsob, jak zavolat příkaz, a pak zjistit, jestli vyhodil nějakou chybu?
Potřebuji zjistit, zda parsování .ini souboru proběhlo v pořádku. Ono to vyhodí warning, pokud ne, ale vždy to vrací pole s tím, co se podařilo projít. Lze si zaregistrovat error handler, to je ale s kanónem na vrabce... |
||
Hugo Profil |
#2 · Zasláno: 31. 5. 2006, 13:43:47
Zapni si error_reporting na nejvyssi citlivost a oznami ti to kazdou chybu.
<?php error_reporting(E_ALL); ... ?> |
||
mila Profil |
#3 · Zasláno: 31. 5. 2006, 13:56:55
Nepotřebuji, aby to chybu vypsalo na výstup. Potřebuji po zpracování toho ini souboru vědět, zda se povedlo, a podle toho se dále zachovat.
Vlastně chci při chybě ukončit skript. Pokud by byl ini file přečten špatně, mohlo by se stát, že uživatel uvidí něco, co nemá. Tzn. by stačilo, aby se warning zachoval jako error - skončil. Mimochodem, měl jsem error handler, který chytil warning a hodil error. Fungovalo to docela dobře. Problém byl, že pokud vlastní error handler hodí chybu, je volán deafultní php (ten co vidíme, když nic nenastavujem). Je to logické, brání to zacyklení. Navíc to umožňuje oštřit nějak chybu, a pak nechat udělat php normální práci. Ale já error handler mám vlastní. Ten chytá chyby a při fatální pošle hlavičku 503. Ten je ale obejet, pokud chyba přišla v jiném error handleru (nepošle se tedy uživateli omluva). (doufám, že jsem to nenapsal moc složitě) |
||
Hugo Profil |
#4 · Zasláno: 31. 5. 2006, 14:06:15
To uz zalezi na tom jak ten ini soubor parsujes. Pokud pouzivas nejakou tridu, tak to muzes osetrit napr. pomoci vyjimek (exceptions).
|
||
mila Profil |
#5 · Zasláno: 31. 5. 2006, 14:09:52
parse_ini_file - fce php
|
||
Hugo Profil |
#6 · Zasláno: 31. 5. 2006, 14:13:20
|
||
mila Profil |
#7 · Zasláno: 31. 5. 2006, 14:34:17
Díky, v manuálu jsem hledal, jistě bych našel i fci, která toto ošetří, ale je to zbytečný kód navíc.
Teď mi to funguje, jen musím předtím a potom zavolat nějakou fci, kterou jsem si napsal, aby testovala, zda byla chyba. Využívá právě set_error_handler(). Není to nic dlouhého, přesto mi to přijde neelegantní. Používat vlastní parse_ini_file není ale o nic hezčí. Proto jsem se ptal, zda mi neuniká nějaký jednoduchý způsob, jak toto zjistit. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0