Nelze odchytit vyjímku UnexpectedValueException

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Radkos
Člen | 62
+
0
-

Ahoj, mám funkci k získání jmen souborů ve složce podle id. Pokud složka neexistuje, měla by se vyhodit vyjímka UnexpectedValueException. Když k tomuhle dojde, kód nepřejde do catch, ale nette vyhodí chybu.

public function getItemImages($id){
		$images = [];
        try {
            foreach (Finder::findFiles('')->in($this->imageDir . '\\photos\\' . $id . '\\') as $key => $file) {
                $images[$key] = $file->getFilename();
            }
        }
        catch(UnexpectedValueException $ex){
            $images = null;
        }
        return $images;
    }
nightfish
Člen | 519
+
+1
-

Radkos napsal(a):
catch(UnexpectedValueException $ex){

Pokud se jedná o výjimku vestavěnou v PHP, musíš použít catch (\UnexpectedValueException $exc) (zpětné lomítko před názvem výjimky). A pokud je to tvoje výjimka, tak u ní musíš uvést použitý jmenný prostor, jinak se bude hledat ve stejném jmenném prostoru jako je presenter, ve kterém ji odchytáváš.

Editoval nightfish (20. 12. 2017 17:46)

Radkos
Člen | 62
+
0
-

nightfish napsal(a):

Radkos napsal(a):
catch(UnexpectedValueException $ex){

Pokud se jedná o výjimku vestavěnou v PHP, musíš použít catch (\UnexpectedValueException $exc) (zpětné lomítko před názvem výjimky). A pokud je to tvoje výjimka, tak u ní musíš uvést použitý jmenný prostor, jinak se bude hledat ve stejném jmenném prostoru jako je presenter, ve kterém ji odchytáváš.

Díky moc, bylo to tím lomítkem