Jak odchytit Exception co neni v PHP Exception ale Warning?
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- tvx
- Člen | 5
zacinam s Nette
mam problem s osetrenim vyjimky co neni v PHP vyjimka:
kod:
<?php
try{
$stream = imap_open($this->mbox, $username, $password);
}catch (Exception $e) {
// osetreni
}
?>
mimo nette mi PHP hazi Warrning
v Nette mam chybu vyhozenou jako FatalErrorException
jak mam vyjimku odchytit?
- Filip Procházka
- Moderator | 4668
Špatně, je třeba to uzavřít do podmínky.
use Nette\Diagnostics\Debugger;
Debugger::tryError();
$stream = imap_open($this->mbox, $username, $password);
if (Debugger::catchError($error)) { // nastala chyba
//v error je chycenej error/warning
}
- tvx
- Člen | 5
se starou verzi delam proto, ze v ni potrebuju neco hotoveho opravit
HospiLan: viz vyse, v me verzi Nette jeste Debugger neni…
vyada to jen ze ma NTools::tryError() a NTools::getError() vypadajici podobne funkcnosti ale vraci mi to pak v $error text chyby, ja potrebuji znat nazev Exception kterou pottrebuji odchytit.
potrebuji proste jakkoli jinak nez pres @ odchytit chybu a zpracovat jia by nebyla fatal.
- Filip Procházka
- Moderator | 4668
Tak samozřejmě, ale tu podmínku bys musel psát až za to a to je zbytečné.